Color EBB arguments.

When coloring registers for a branch instruction, also make sure that
the values passed as EBB arguments are in the registers expected by the
EBB.

The first time a branch to an EBB is processed, assign the EBB arguments
to the registers where the branch arguments already reside so no
regmoves are needed.
This commit is contained in:
Jakob Stoklund Olesen
2017-06-27 12:59:23 -07:00
parent 165e80d9bf
commit bbdf07a64e
6 changed files with 183 additions and 68 deletions

View File

@@ -61,7 +61,7 @@ impl RegDiversions {
self.current.iter().find(|d| d.value == value)
}
/// Get all current diversion.
/// Get all current diversions.
pub fn all(&self) -> &[Diversion] {
self.current.as_slice()
}