Change these schedulers to not emit no-ops. It turns out that
authorDan Gohman <gohman@apple.com>
Fri, 21 Nov 2008 00:10:42 +0000 (00:10 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 21 Nov 2008 00:10:42 +0000 (00:10 +0000)
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
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp

index 023ebf3b5599e3be215c1146ce6f4c464383b4a4..5993bcd7fe6ec2677f03db63eef3d22095c8cab1 100644 (file)
@@ -577,9 +577,7 @@ void ScheduleDAGFast::ListScheduleBottomUp() {
     }
     NotReady.clear();
 
-    if (!CurSU)
-      Sequence.push_back(0);
-    else
+    if (CurSU)
       ScheduleNodeBottomUp(CurSU, CurCycle);
     ++CurCycle;
   }
index 8e9ab44bd0d9363352054f6543c74f2028992e89..b75e7f7722bd0700ec6499ae364ec6f66b0decb1 100644 (file)
@@ -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;
   }