diff options
author | Dan Gohman <gohman@apple.com> | 2008-11-13 23:24:17 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-11-13 23:24:17 +0000 |
commit | 072734ebd6d96f778dad2c6f86c2644e1f8fe987 (patch) | |
tree | 137e79bb6a7993b866070964661378d6e9225283 /llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | |
parent | 62efa23518f80f5723310cc11c88a8be04b4541c (diff) | |
download | bcm5719-llvm-072734ebd6d96f778dad2c6f86c2644e1f8fe987.tar.gz bcm5719-llvm-072734ebd6d96f778dad2c6f86c2644e1f8fe987.zip |
Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
to carry a SmallVector of flagged nodes, just calculate the flagged nodes
dynamically when they are needed.
The local-liveness change is due to a trivial scheduling change where
the scheduler arbitrary decision differently.
llvm-svn: 59273
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp index 15fffdfeea1..15ba26679cc 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp @@ -626,7 +626,7 @@ void ScheduleDAGRRList::BacktrackBottomUp(SUnit *SU, unsigned BtCycle, /// CopyAndMoveSuccessors - Clone the specified node and move its scheduled /// successors to the newly created node. SUnit *ScheduleDAGRRList::CopyAndMoveSuccessors(SUnit *SU) { - if (SU->FlaggedNodes.size()) + if (SU->getNode()->getFlaggedNode()) return NULL; SDNode *N = SU->getNode(); @@ -903,9 +903,8 @@ bool ScheduleDAGRRList::DelayForLiveRegsBottomUp(SUnit *SU, } } - for (unsigned i = 0, e = SU->FlaggedNodes.size()+1; i != e; ++i) { - SDNode *Node = (i == 0) ? SU->getNode() : SU->FlaggedNodes[i-1]; - if (!Node || !Node->isMachineOpcode()) + for (SDNode *Node = SU->getNode(); Node; Node = Node->getFlaggedNode()) { + if (!Node->isMachineOpcode()) continue; const TargetInstrDesc &TID = TII->get(Node->getMachineOpcode()); if (!TID.ImplicitDefs) @@ -1736,7 +1735,7 @@ void BURegReductionPriorityQueue::AddPseudoTwoAddrDeps() { continue; SDNode *Node = SU->getNode(); - if (!Node || !Node->isMachineOpcode() || SU->FlaggedNodes.size() > 0) + if (!Node || !Node->isMachineOpcode() || SU->getNode()->getFlaggedNode()) continue; unsigned Opc = Node->getMachineOpcode(); |