Cranelift: update to latest regalloc2: (#4324)

- Handle call instructions' clobbers with the clobbers API, using RA2's
  clobbers bitmask (bytecodealliance/regalloc2#58) rather than clobbers
  list;

- Pull in changes from bytecodealliance/regalloc2#59 for much more sane
  edge-case behavior w.r.t. liverange splitting.
This commit is contained in:
Chris Fallin
2022-06-28 09:01:59 -07:00
committed by GitHub
parent 66b829b1bf
commit b2e28b917a
21 changed files with 402 additions and 293 deletions

View File

@@ -18,7 +18,7 @@ use crate::{
settings::Flags,
unwind::UnwindInst,
x64::{
inst::{args::*, regs},
inst::{args::*, regs, CallInfo},
settings::Flags as IsaFlags,
},
},
@@ -26,8 +26,11 @@ use crate::{
isle::*, AtomicRmwOp, InsnInput, InsnOutput, LowerCtx, VCodeConstant, VCodeConstantData,
},
};
use std::boxed::Box;
use std::convert::TryFrom;
type BoxCallInfo = Box<CallInfo>;
pub struct SinkableLoad {
inst: Inst,
addr_input: InsnInput,