cranelift: bump regalloc.rs to 0.0.24 and adapt to latest API changes;

This commit is contained in:
Benjamin Bouvier
2020-05-20 13:31:02 +02:00
parent 5c39b74eb8
commit 1f620e1b46
6 changed files with 21 additions and 21 deletions

View File

@@ -1168,29 +1168,29 @@ fn aarch64_get_regs(inst: &Inst, collector: &mut RegUsageCollector) {
//=============================================================================
// Instructions: map_regs
fn aarch64_map_regs(inst: &mut Inst, mapper: &RegUsageMapper) {
fn map_use(m: &RegUsageMapper, r: &mut Reg) {
fn aarch64_map_regs<RUM: RegUsageMapper>(inst: &mut Inst, mapper: &RUM) {
fn map_use<RUM: RegUsageMapper>(m: &RUM, r: &mut Reg) {
if r.is_virtual() {
let new = m.get_use(r.to_virtual_reg()).unwrap().to_reg();
*r = new;
}
}
fn map_def(m: &RegUsageMapper, r: &mut Writable<Reg>) {
fn map_def<RUM: RegUsageMapper>(m: &RUM, r: &mut Writable<Reg>) {
if r.to_reg().is_virtual() {
let new = m.get_def(r.to_reg().to_virtual_reg()).unwrap().to_reg();
*r = Writable::from_reg(new);
}
}
fn map_mod(m: &RegUsageMapper, r: &mut Writable<Reg>) {
fn map_mod<RUM: RegUsageMapper>(m: &RUM, r: &mut Writable<Reg>) {
if r.to_reg().is_virtual() {
let new = m.get_mod(r.to_reg().to_virtual_reg()).unwrap().to_reg();
*r = Writable::from_reg(new);
}
}
fn map_mem(m: &RegUsageMapper, mem: &mut MemArg) {
fn map_mem<RUM: RegUsageMapper>(m: &RUM, mem: &mut MemArg) {
// N.B.: we take only the pre-map here, but this is OK because the
// only addressing modes that update registers (pre/post-increment on
// AArch64) both read and write registers, so they are "mods" rather
@@ -1219,7 +1219,7 @@ fn aarch64_map_regs(inst: &mut Inst, mapper: &RegUsageMapper) {
};
}
fn map_pairmem(m: &RegUsageMapper, mem: &mut PairMemArg) {
fn map_pairmem<RUM: RegUsageMapper>(m: &RUM, mem: &mut PairMemArg) {
match mem {
&mut PairMemArg::SignedOffset(ref mut reg, ..) => map_use(m, reg),
&mut PairMemArg::PreIndexed(ref mut reg, ..) => map_def(m, reg),
@@ -1227,7 +1227,7 @@ fn aarch64_map_regs(inst: &mut Inst, mapper: &RegUsageMapper) {
}
}
fn map_br(m: &RegUsageMapper, br: &mut CondBrKind) {
fn map_br<RUM: RegUsageMapper>(m: &RUM, br: &mut CondBrKind) {
match br {
&mut CondBrKind::Zero(ref mut reg) => map_use(m, reg),
&mut CondBrKind::NotZero(ref mut reg) => map_use(m, reg),
@@ -1738,7 +1738,7 @@ impl MachInst for Inst {
aarch64_get_regs(self, collector)
}
fn map_regs(&mut self, mapper: &RegUsageMapper) {
fn map_regs<RUM: RegUsageMapper>(&mut self, mapper: &RUM) {
aarch64_map_regs(self, mapper);
}