forked from OSchip/llvm-project
PostRA scheduler fix. Clear stale loop dependencies.
Fixes <rdar://problem/10235725> llvm-svn: 141357
This commit is contained in:
parent
4ef158335b
commit
35c9e51219
|
@ -134,6 +134,7 @@ static const Value *getUnderlyingObjectForInstr(const MachineInstr *MI,
|
|||
}
|
||||
|
||||
void ScheduleDAGInstrs::StartBlock(MachineBasicBlock *BB) {
|
||||
LoopRegs.Deps.clear();
|
||||
if (MachineLoop *ML = MLI.getLoopFor(BB))
|
||||
if (BB == ML->getLoopLatch()) {
|
||||
MachineBasicBlock *Header = ML->getHeader();
|
||||
|
|
|
@ -48,7 +48,8 @@ namespace llvm {
|
|||
/// VisitLoop - Clear out any previous state and analyze the given loop.
|
||||
///
|
||||
void VisitLoop(const MachineLoop *Loop) {
|
||||
Deps.clear();
|
||||
assert(Deps.empty() && "stale loop dependencies");
|
||||
|
||||
MachineBasicBlock *Header = Loop->getHeader();
|
||||
SmallSet<unsigned, 8> LoopLiveIns;
|
||||
for (MachineBasicBlock::livein_iterator LI = Header->livein_begin(),
|
||||
|
|
Loading…
Reference in New Issue