mod.rs 1.04 KB
Newer Older
1
pub mod inst_sel;
2
pub mod reg_alloc;
3
pub mod peephole_opt;
4
pub mod code_emission;
5

qinsoon's avatar
qinsoon committed
6 7 8
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub enum RegGroup {GPR, FPR}

9
#[cfg(target_arch = "x86_64")]
10
#[path = "arch/x86_64/mod.rs"]
11 12
mod x86_64;

qinsoon's avatar
qinsoon committed
13
#[cfg(target_arch = "x86_64")]
qinsoon's avatar
qinsoon committed
14
pub use compiler::backend::x86_64::init_machine_regs_for_func;
qinsoon's avatar
qinsoon committed
15 16

#[cfg(target_arch = "x86_64")]
qinsoon's avatar
qinsoon committed
17
pub use compiler::backend::x86_64::number_of_regs_in_group;
qinsoon's avatar
qinsoon committed
18
#[cfg(target_arch = "x86_64")]
qinsoon's avatar
qinsoon committed
19 20 21
pub use compiler::backend::x86_64::number_of_all_regs;
#[cfg(target_arch = "x86_64")]
pub use compiler::backend::x86_64::all_regs;
22
#[cfg(target_arch = "x86_64")]
23 24
pub use compiler::backend::x86_64::all_usable_regs;
#[cfg(target_arch = "x86_64")]
25
pub use compiler::backend::x86_64::pick_group_for_reg;
26 27
#[cfg(target_arch = "x86_64")]
pub use compiler::backend::x86_64::is_callee_saved;
28 29 30 31
#[cfg(target_arch = "x86_64")]
pub use compiler::backend::x86_64::emit_code;
#[cfg(target_arch = "x86_64")]
pub use compiler::backend::x86_64::emit_context;
qinsoon's avatar
qinsoon committed
32 33 34 35

#[cfg(target_arch = "arm")]
#[path = "arch/arm/mod.rs"]
mod arm;