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:
@@ -315,15 +315,11 @@
|
||||
|
||||
;; Direct call: call simm32.
|
||||
(CallKnown (dest ExternalName)
|
||||
(uses VecReg)
|
||||
(defs VecWritableReg)
|
||||
(opcode Opcode))
|
||||
(info BoxCallInfo))
|
||||
|
||||
;; Indirect call: callq (reg mem)
|
||||
(CallUnknown (dest RegMem)
|
||||
(uses VecReg)
|
||||
(defs VecWritableReg)
|
||||
(opcode Opcode))
|
||||
(info BoxCallInfo))
|
||||
|
||||
;; Return.
|
||||
(Ret (rets VecReg))
|
||||
@@ -502,6 +498,8 @@
|
||||
LFence
|
||||
SFence))
|
||||
|
||||
(type BoxCallInfo extern (enum))
|
||||
|
||||
;; Get the `OperandSize` for a given `Type`, rounding smaller types up to 32 bits.
|
||||
(decl operand_size_of_type_32_64 (Type) OperandSize)
|
||||
(extern constructor operand_size_of_type_32_64 operand_size_of_type_32_64)
|
||||
|
||||
Reference in New Issue
Block a user