diff options
Diffstat (limited to 'llvm/lib/CodeGen/ScheduleDAGInstrs.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp index 5899da777fe9..daff3af3bc3c 100644 --- a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp +++ b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp @@ -514,7 +514,7 @@ void ScheduleDAGInstrs::addVRegDefDeps(SUnit *SU, unsigned OperIdx) { /// TODO: Handle ExitSU "uses" properly. void ScheduleDAGInstrs::addVRegUseDeps(SUnit *SU, unsigned OperIdx) { const MachineInstr *MI = SU->getInstr(); - assert(!MI->isDebugInstr()); + assert(!MI->isDebugOrPseudoInstr()); const MachineOperand &MO = MI->getOperand(OperIdx); Register Reg = MO.getReg(); @@ -572,7 +572,7 @@ void ScheduleDAGInstrs::initSUnits() { SUnits.reserve(NumRegionInstrs); for (MachineInstr &MI : make_range(RegionBegin, RegionEnd)) { - if (MI.isDebugInstr()) + if (MI.isDebugOrPseudoInstr()) continue; SUnit *SU = newSUnit(&MI); @@ -807,11 +807,12 @@ void ScheduleDAGInstrs::buildSchedGraph(AAResults *AA, DbgMI = nullptr; } - if (MI.isDebugValue() || MI.isDebugRef()) { + if (MI.isDebugValue() || MI.isDebugPHI()) { DbgMI = &MI; continue; } - if (MI.isDebugLabel()) + + if (MI.isDebugLabel() || MI.isDebugRef() || MI.isPseudoProbe()) continue; SUnit *SU = MISUnitMap[&MI]; @@ -1117,7 +1118,7 @@ void ScheduleDAGInstrs::fixupKills(MachineBasicBlock &MBB) { // Examine block from end to start... for (MachineInstr &MI : make_range(MBB.rbegin(), MBB.rend())) { - if (MI.isDebugInstr()) + if (MI.isDebugOrPseudoInstr()) continue; // Update liveness. Registers that are defed but not used in this @@ -1152,7 +1153,7 @@ void ScheduleDAGInstrs::fixupKills(MachineBasicBlock &MBB) { while (I->isBundledWithSucc()) ++I; do { - if (!I->isDebugInstr()) + if (!I->isDebugOrPseudoInstr()) toggleKills(MRI, LiveRegs, *I, true); --I; } while (I != Bundle); |
