Add a register pressure tracker.
The spilling and reload passes need to ensure that the set of live ranges with register affinity can always be assigned registers. The register pressure tracker can count how many registers are in use for each top-level register class and give guidance on the type of registers that need to be spilled when limits are exceeded. Pressure tracking is extra complicated for the arm32 floating point register bank because there are multiple top-level register classes (S, D, Q) competing for the same register units.
This commit is contained in:
@@ -11,6 +11,7 @@ pub mod coloring;
|
||||
mod affinity;
|
||||
mod context;
|
||||
mod diversion;
|
||||
mod pressure;
|
||||
mod solver;
|
||||
|
||||
pub use self::allocatable_set::AllocatableSet;
|
||||
|
||||
Reference in New Issue
Block a user