Add an AllocatableSet for registers.

This set of available register units also manages register aliasing in
an efficient way.

Detect if the units in a register straddles mask words. The algorithm
for allocating multi-unit registers expect the whole register to be
inside a single mask word. We could handle this if necessary, but so far
no ISAs need it.
This commit is contained in:
Jakob Stoklund Olesen
2017-01-20 14:41:06 -08:00
parent ae926157c2
commit 58dedb673a
5 changed files with 187 additions and 5 deletions

View File

@@ -147,8 +147,8 @@ impl RegInfo {
/// Temporary object that holds enough information to print a register unit.
pub struct DisplayRegUnit<'a> {
pub regunit: RegUnit,
pub reginfo: &'a RegInfo,
regunit: RegUnit,
reginfo: &'a RegInfo,
}
impl<'a> fmt::Display for DisplayRegUnit<'a> {