From 47d1a214a7013d12140a0c4972d7ba761150dfd4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 21 Nov 2008 00:10:42 +0000 Subject: [PATCH] Change these schedulers to not emit no-ops. It turns out that the RR scheduler actually does look at latency values, but it doesn't use a hazard recognizer so it has no way to know when a no-op is needed, as opposed to just stalling and incrementing the cycle count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59759 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 4 +--- lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 8 ++------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp index 023ebf3b559..5993bcd7fe6 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp @@ -577,9 +577,7 @@ void ScheduleDAGFast::ListScheduleBottomUp() { } NotReady.clear(); - if (!CurSU) - Sequence.push_back(0); - else + if (CurSU) ScheduleNodeBottomUp(CurSU, CurCycle); ++CurCycle; } diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp index 8e9ab44bd0d..b75e7f7722b 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp @@ -1052,9 +1052,7 @@ void ScheduleDAGRRList::ListScheduleBottomUp() { } NotReady.clear(); - if (!CurSU) - Sequence.push_back(0); - else + if (CurSU) ScheduleNodeBottomUp(CurSU, CurCycle); ++CurCycle; } @@ -1152,9 +1150,7 @@ void ScheduleDAGRRList::ListScheduleTopDown() { AvailableQueue->push_all(NotReady); NotReady.clear(); - if (!CurSU) - Sequence.push_back(0); - else + if (CurSU) ScheduleNodeTopDown(CurSU, CurCycle); ++CurCycle; }