diff options
| author | Matthias Braun <matze@braunis.de> | 2015-10-22 18:07:38 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2015-10-22 18:07:38 +0000 |
| commit | d276de6db1c231f5338cb05847654fcd21a8317a (patch) | |
| tree | a94ab43c38d7e3deacd11245bb4dc1225c419de7 /llvm/lib/Target/AArch64/AArch64Subtarget.cpp | |
| parent | 61f4d6439c16a65a51495699bca2f0be37459df4 (diff) | |
| download | bcm5719-llvm-d276de6db1c231f5338cb05847654fcd21a8317a.tar.gz bcm5719-llvm-d276de6db1c231f5338cb05847654fcd21a8317a.zip | |
AArch64: Disable the latency heuristic
It turned out not to improve any of our benchmarks but occasionally led
to increased register pressure and spilling.
Only enabling for the Cyclone CPU as the results on the cortex CPUs
give mixed results.
Differential Revision: http://reviews.llvm.org/D13708
llvm-svn: 251038
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64Subtarget.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp index 6dfa0af4f88..e6ef6dc80e2 100644 --- a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp +++ b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp @@ -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 { |

