AArch64: Disable the latency heuristic
[oota-llvm.git] / lib / Target / AArch64 / AArch64Subtarget.cpp
index 6dfa0af4f88240d447422af7949d3a1a36dafe28..e6ef6dc80e24aafc39d3e3f65efd044a3130330a 100644 (file)
@@ -114,6 +114,11 @@ void AArch64Subtarget::overrideSchedPolicy(MachineSchedPolicy &Policy,
   // bi-directional scheduling. 253.perlbmk.
   Policy.OnlyTopDown = false;
   Policy.OnlyBottomUp = false;
+  // Enabling or Disabling the latency heuristic is a close call: It seems to
+  // help nearly no benchmark on out-of-order architectures, on the other hand
+  // it regresses register pressure on a few benchmarking.
+  if (isCyclone())
+    Policy.DisableLatencyHeuristic = true;
 }
 
 bool AArch64Subtarget::enableEarlyIfConversion() const {