Add a coalescing pass to the register allocator.
Coalescing means creating virtual registers and transforming the code into conventional SSA form. This means that every value used as a branch argument will belong to the same virtual register as the corresponding EBB argument value. Conventional SSA form makes it easy to avoid memory-memory copies when spilling values, and the virtual registers can be used as hints when picking registers too. This reduces the number of register moves needed for EBB arguments.
This commit is contained in:
@@ -9,6 +9,7 @@ pub mod live_value_tracker;
|
||||
pub mod coloring;
|
||||
|
||||
mod affinity;
|
||||
mod coalescing;
|
||||
mod context;
|
||||
mod diversion;
|
||||
mod pressure;
|
||||
|
||||
Reference in New Issue
Block a user