another delayed instr. would cause the later sanity-check (assertion)
in PhyRegAlloc.cpp to fail, even though there is really no error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7848
91177308-0d34-0410-b5e6-
96231b3b80d8
for (unsigned i = 0; i < DS; ++i, ++fwdMII) {
assert(fwdMII != MIVec.end() && "Missing instruction in delay slot?");
MachineInstr* DelaySlotMI = *fwdMII;
- set_union(*MInst2LVSetBI[DelaySlotMI], *NewSet);
- if (i+1 == DS)
- set_union(*MInst2LVSetAI[DelaySlotMI], *NewSet);
+ if (! TM.getInstrInfo().isNop(DelaySlotMI->getOpCode())) {
+ set_union(*MInst2LVSetBI[DelaySlotMI], *NewSet);
+ if (i+1 == DS)
+ set_union(*MInst2LVSetAI[DelaySlotMI], *NewSet);
+ }
}
}
for (unsigned i = 0; i < DS; ++i, ++fwdMII) {
assert(fwdMII != MIVec.end() && "Missing instruction in delay slot?");
MachineInstr* DelaySlotMI = *fwdMII;
- set_union(*MInst2LVSetBI[DelaySlotMI], *NewSet);
- if (i+1 == DS)
- set_union(*MInst2LVSetAI[DelaySlotMI], *NewSet);
+ if (! TM.getInstrInfo().isNop(DelaySlotMI->getOpCode())) {
+ set_union(*MInst2LVSetBI[DelaySlotMI], *NewSet);
+ if (i+1 == DS)
+ set_union(*MInst2LVSetAI[DelaySlotMI], *NewSet);
+ }
}
}