1 //! Register allocation. 2 //! 3 //! This module contains data structures and algorithms used for register allocation. 4 5 pub mod coloring; 6 pub mod live_value_tracker; 7 pub mod liveness; 8 pub mod liverange; 9 pub mod register_set; 10 pub mod virtregs; 11 12 mod affinity; 13 mod branch_splitting; 14 mod coalescing; 15 mod context; 16 mod diversion; 17 mod pressure; 18 mod reload; 19 mod safepoint; 20 mod solver; 21 mod spilling; 22 23 pub use self::context::Context; 24 pub use self::diversion::{EntryRegDiversions, RegDiversions}; 25 pub use self::register_set::RegisterSet; 26 pub use self::safepoint::emit_stackmaps; 27