diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp b/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp index 0568bc6a4600..8429d468254a 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp @@ -275,8 +275,8 @@ bool MachineSinking::PerformTrivialForwardCoalescing(MachineInstr &MI, Register SrcReg = MI.getOperand(1).getReg(); Register DstReg = MI.getOperand(0).getReg(); - if (!Register::isVirtualRegister(SrcReg) || - !Register::isVirtualRegister(DstReg) || !MRI->hasOneNonDBGUse(SrcReg)) + if (!SrcReg.isVirtual() || !DstReg.isVirtual() || + !MRI->hasOneNonDBGUse(SrcReg)) return false; const TargetRegisterClass *SRC = MRI->getRegClass(SrcReg); @@ -309,7 +309,7 @@ bool MachineSinking::AllUsesDominatedByBlock(Register Reg, MachineBasicBlock *DefMBB, bool &BreakPHIEdge, bool &LocalUse) const { - assert(Register::isVirtualRegister(Reg) && "Only makes sense for vregs"); + assert(Reg.isVirtual() && "Only makes sense for vregs"); // Ignore debug uses because debug info doesn't affect the code. if (MRI->use_nodbg_empty(Reg)) @@ -611,7 +611,7 @@ bool MachineSinking::isWorthBreakingCriticalEdge(MachineInstr &MI, // We don't move live definitions of physical registers, // so sinking their uses won't enable any opportunities. - if (Register::isPhysicalRegister(Reg)) + if (Reg.isPhysical()) continue; // If this instruction is the only user of a virtual register, @@ -805,7 +805,7 @@ bool MachineSinking::isProfitableToSinkTo(Register Reg, MachineInstr &MI, if (Reg == 0) continue; - if (Register::isPhysicalRegister(Reg)) { + if (Reg.isPhysical()) { if (MO.isUse() && (MRI->isConstantPhysReg(Reg) || TII->isIgnorableUse(MO))) continue; @@ -910,7 +910,7 @@ MachineSinking::FindSuccToSinkTo(MachineInstr &MI, MachineBasicBlock *MBB, Register Reg = MO.getReg(); if (Reg == 0) continue; - if (Register::isPhysicalRegister(Reg)) { + if (Reg.isPhysical()) { if (MO.isUse()) { // If the physreg has no defs anywhere, it's just an ambient register // and we can freely move its uses. Alternatively, if it's allocatable, @@ -1323,7 +1323,7 @@ static bool blockPrologueInterferes(MachineBasicBlock *BB, if (!Reg) continue; if (MO.isUse()) { - if (Register::isPhysicalRegister(Reg) && + if (Reg.isPhysical() && (TII->isIgnorableUse(MO) || (MRI && MRI->isConstantPhysReg(Reg)))) continue; if (PI->modifiesRegister(Reg, TRI)) @@ -1387,7 +1387,7 @@ bool MachineSinking::SinkInstruction(MachineInstr &MI, bool &SawStore, if (!MO.isReg() || MO.isUse()) continue; Register Reg = MO.getReg(); - if (Reg == 0 || !Register::isPhysicalRegister(Reg)) + if (Reg == 0 || !Reg.isPhysical()) continue; if (SuccToSinkTo->isLiveIn(Reg)) return false; @@ -1779,11 +1779,11 @@ bool PostRAMachineSinking::tryToSinkCopy(MachineBasicBlock &CurBB, // We must sink this DBG_VALUE if its operand is sunk. To avoid searching // for DBG_VALUEs later, record them when they're encountered. - if (MI.isDebugValue()) { + if (MI.isDebugValue() && !MI.isDebugRef()) { SmallDenseMap<MCRegister, SmallVector<unsigned, 2>, 4> MIUnits; bool IsValid = true; for (MachineOperand &MO : MI.debug_operands()) { - if (MO.isReg() && Register::isPhysicalRegister(MO.getReg())) { + if (MO.isReg() && MO.getReg().isPhysical()) { // Bail if we can already tell the sink would be rejected, rather // than needlessly accumulating lots of DBG_VALUEs. if (hasRegisterDependency(&MI, UsedOpsInCopy, DefedRegsInCopy, |