mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 12:50:00 +00:00
PostRA scheduler fix. Clear stale loop dependencies.
Fixes <rdar://problem/10235725> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141357 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4563bbaba7
commit
e8deca83c1
@ -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
Block a user