Add a From<&MachineEnv> impl for PRegSet (#101)

This commit is contained in:
Trevor Elliott
2022-11-09 11:31:56 -08:00
committed by GitHub
parent b41b1f9a3c
commit 51561285d3

View File

@@ -242,6 +242,26 @@ impl Iterator for PRegSetIter {
}
}
impl From<&MachineEnv> for PRegSet {
fn from(env: &MachineEnv) -> Self {
let mut res = Self::default();
for class in env.preferred_regs_by_class.iter() {
for preg in class {
res.add(*preg)
}
}
for class in env.non_preferred_regs_by_class.iter() {
for preg in class {
res.add(*preg)
}
}
res
}
}
/// A virtual register. Contains a virtual register number and a
/// class.
///