Push PrepareNodeInfo/IdentifyGroups down the inheritance hierarchy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26682 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-03-10 06:34:51 +00:00
parent de76851d42
commit be24e5996c
3 changed files with 10 additions and 4 deletions

View File

@ -498,10 +498,6 @@ MachineBasicBlock *ScheduleDAG::Run() {
// Number the nodes
NodeCount = std::distance(DAG.allnodes_begin(), DAG.allnodes_end());
// Set up minimum info for scheduling
PrepareNodeInfo();
// Construct node groups for flagged nodes
IdentifyGroups();
Schedule();
return BB;

View File

@ -640,6 +640,11 @@ void ScheduleDAGList::dumpSchedule() const {
void ScheduleDAGList::Schedule() {
DEBUG(std::cerr << "********** List Scheduling **********\n");
// Set up minimum info for scheduling
PrepareNodeInfo();
// Construct node groups for flagged nodes
IdentifyGroups();
// Build scheduling units.
BuildSchedUnits();

View File

@ -560,6 +560,11 @@ void ScheduleDAGSimple::ScheduleForward() {
/// Schedule - Order nodes according to selected style.
///
void ScheduleDAGSimple::Schedule() {
// Set up minimum info for scheduling
PrepareNodeInfo();
// Construct node groups for flagged nodes
IdentifyGroups();
// Test to see if scheduling should occur
bool ShouldSchedule = NodeCount > 3 && Heuristic != noScheduling;
// Don't waste time if is only entry and return