diff options
author | Andrew Trick <atrick@apple.com> | 2013-03-07 19:07:57 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-03-07 19:07:57 +0000 |
commit | b2ab8a732c117753695c4dfb6b75ee6d8a049a02 (patch) | |
tree | 3fb99d3c702f39f96575d87901b1e91d26a9fe05 /llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | |
parent | 5e5fd6bb4fbe76d8fd6a10d218933dff6579ad5d (diff) | |
download | bcm5719-llvm-b2ab8a732c117753695c4dfb6b75ee6d8a049a02.tar.gz bcm5719-llvm-b2ab8a732c117753695c4dfb6b75ee6d8a049a02.zip |
pre-RA-sched assertion fix. This bug was exposed by r176037.
rdar:13370002 [pre-RA-sched] assertion: released too many times
I tracked this down to an earlier hack that is no longer applicable
and interfered with normal scheduler logic. With the changes in
r176037, it was causing an instruction to be scheduled multiple times.
I have an external test case that I tried hard to reduce and
failed. I can't even reproduce with llc.
llvm-svn: 176636
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp index addfccbd002..f843584a91c 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp @@ -904,9 +904,6 @@ void ScheduleDAGRRList::BacktrackBottomUp(SUnit *SU, SUnit *BtSU) { SUnit *OldSU = Sequence.back(); while (true) { Sequence.pop_back(); - if (SU->isSucc(OldSU)) - // Don't try to remove SU from AvailableQueue. - SU->isAvailable = false; // FIXME: use ready cycle instead of height CurCycle = OldSU->getHeight(); UnscheduleNodeBottomUp(OldSU); |