summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/CodeGen/MachineScheduler.h8
-rw-r--r--llvm/lib/CodeGen/MachineScheduler.cpp11
2 files changed, 0 insertions, 19 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineScheduler.h b/llvm/include/llvm/CodeGen/MachineScheduler.h
index 741a5299a90..25a6105b689 100644
--- a/llvm/include/llvm/CodeGen/MachineScheduler.h
+++ b/llvm/include/llvm/CodeGen/MachineScheduler.h
@@ -589,10 +589,6 @@ private:
/// instruction.
bool CheckPending;
- // For heuristics, keep a list of the nodes that immediately depend on the
- // most recently scheduled node.
- SmallPtrSet<const SUnit*, 8> NextSUs;
-
/// Number of cycles it takes to issue the instructions scheduled in this
/// zone. It is defined as: scheduled-micro-ops / issue-width + stalls.
/// See getStalls().
@@ -669,10 +665,6 @@ public:
/// Micro-ops issued in the current cycle
unsigned getCurrMOps() const { return CurrMOps; }
- /// Return true if the given SU is used by the most recently scheduled
- /// instruction.
- bool isNextSU(const SUnit *SU) const { return NextSUs.count(SU); }
-
// The latency of dependence chains leading into this zone.
unsigned getDependentLatency() const { return DependentLatency; }
diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp
index fae22eb9b25..bc1c97d7466 100644
--- a/llvm/lib/CodeGen/MachineScheduler.cpp
+++ b/llvm/lib/CodeGen/MachineScheduler.cpp
@@ -1793,7 +1793,6 @@ void SchedBoundary::reset() {
Available.clear();
Pending.clear();
CheckPending = false;
- NextSUs.clear();
CurrCycle = 0;
CurrMOps = 0;
MinReadyCycle = UINT_MAX;
@@ -1994,9 +1993,6 @@ void SchedBoundary::releaseNode(SUnit *SU, unsigned ReadyCycle) {
Pending.push(SU);
else
Available.push(SU);
-
- // Record this node as an immediate dependent of the scheduled node.
- NextSUs.insert(SU);
}
void SchedBoundary::releaseTopNode(SUnit *SU) {
@@ -2921,13 +2917,6 @@ void GenericScheduler::tryCandidate(SchedCandidate &Cand,
!Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, *Zone))
return;
- // Prefer immediate defs/users of the last scheduled instruction. This is a
- // local pressure avoidance strategy that also makes the machine code
- // readable.
- if (tryGreater(Zone->isNextSU(TryCand.SU), Zone->isNextSU(Cand.SU),
- TryCand, Cand, NextDefUse))
- return;
-
// Fall through to original instruction order.
if ((Zone->isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum)
|| (!Zone->isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) {
OpenPOWER on IntegriCloud