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
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
index 023ebf3..5993bcd 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
@@ -577,9 +577,7 @@
}
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 8e9ab44..b75e7f7 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
@@ -1052,9 +1052,7 @@
}
NotReady.clear();
- if (!CurSU)
- Sequence.push_back(0);
- else
+ if (CurSU)
ScheduleNodeBottomUp(CurSU, CurCycle);
++CurCycle;
}
@@ -1152,9 +1150,7 @@
AvailableQueue->push_all(NotReady);
NotReady.clear();
- if (!CurSU)
- Sequence.push_back(0);
- else
+ if (CurSU)
ScheduleNodeTopDown(CurSU, CurCycle);
++CurCycle;
}