diff options
author | Dan Gohman <gohman@apple.com> | 2008-11-17 21:31:02 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-11-17 21:31:02 +0000 |
commit | 92a36d7a7804e6c45b46debd8e0f0d16ae8e41d5 (patch) | |
tree | 139c3dd150e654a439950135d79935a24a40921e /llvm/lib/CodeGen/SelectionDAG | |
parent | f046b50ecdd64ed95743df69a2178dfcb0addf82 (diff) | |
download | bcm5719-llvm-92a36d7a7804e6c45b46debd8e0f0d16ae8e41d5.tar.gz bcm5719-llvm-92a36d7a7804e6c45b46debd8e0f0d16ae8e41d5.zip |
Eliminate some trivial differences between the ScheduleNodeTopDown
functions in these two schedulers.
llvm-svn: 59465
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp index 901a2a8c921..4611ec1c597 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp @@ -148,11 +148,14 @@ void ScheduleDAGList::ScheduleNodeTopDown(SUnit *SU, unsigned CurCycle) { Sequence.push_back(SU); SU->Cycle = CurCycle; - + // Top down: release successors. for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); I != E; ++I) ReleaseSucc(I->Dep, I->isCtrl); + + SU->isScheduled = true; + AvailableQueue->ScheduledNode(SU); } /// ListScheduleTopDown - The main loop of list scheduling for top-down @@ -235,8 +238,6 @@ void ScheduleDAGList::ListScheduleTopDown() { if (FoundSUnit) { ScheduleNodeTopDown(FoundSUnit, CurCycle); HazardRec->EmitInstruction(FoundNode); - FoundSUnit->isScheduled = true; - AvailableQueue->ScheduledNode(FoundSUnit); // If this is a pseudo-op node, we don't want to increment the current // cycle. diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp index 15ba26679cc..616a28d8b9a 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp @@ -1137,15 +1137,17 @@ void ScheduleDAGRRList::ReleaseSucc(SUnit *SuccSU, bool isChain, void ScheduleDAGRRList::ScheduleNodeTopDown(SUnit *SU, unsigned CurCycle) { DOUT << "*** Scheduling [" << CurCycle << "]: "; DEBUG(SU->dump(DAG)); - SU->Cycle = CurCycle; - AvailableQueue->ScheduledNode(SU); + SU->Cycle = CurCycle; + Sequence.push_back(SU); // Top down: release successors for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); I != E; ++I) ReleaseSucc(I->Dep, I->isCtrl, CurCycle); + SU->isScheduled = true; + AvailableQueue->ScheduledNode(SU); } /// ListScheduleTopDown - The main loop of list scheduling for top-down @@ -1181,7 +1183,6 @@ void ScheduleDAGRRList::ListScheduleTopDown() { Sequence.push_back(0); else { ScheduleNodeTopDown(CurSU, CurCycle); - Sequence.push_back(CurSU); } ++CurCycle; } |