Skip to content

Commit 5156128

Browse files
authored
Add a From<&MachineEnv> impl for PRegSet (#101)
1 parent b41b1f9 commit 5156128

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/lib.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,26 @@ impl Iterator for PRegSetIter {
242242
}
243243
}
244244

245+
impl From<&MachineEnv> for PRegSet {
246+
fn from(env: &MachineEnv) -> Self {
247+
let mut res = Self::default();
248+
249+
for class in env.preferred_regs_by_class.iter() {
250+
for preg in class {
251+
res.add(*preg)
252+
}
253+
}
254+
255+
for class in env.non_preferred_regs_by_class.iter() {
256+
for preg in class {
257+
res.add(*preg)
258+
}
259+
}
260+
261+
res
262+
}
263+
}
264+
245265
/// A virtual register. Contains a virtual register number and a
246266
/// class.
247267
///

0 commit comments

Comments
 (0)