[PATCH] D15557: [AArch64] Enable PostRAScheduler for AArch64 generic build

MinSeong KIM via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 15 22:56:32 PST 2015


MinSeongKIM created this revision.
MinSeongKIM added reviewers: jmolloy, t.p.northover, mcrosier.
MinSeongKIM added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.

This patch enables PostRAScheduler specifically for AArch64 generic build,
which is beneficial from the performance perspective.
Speedups up to 2 to 7% for some benchmarks on A57 and A53 are observed.
Also benchmarks from LLVM test-suite did not regress.

http://reviews.llvm.org/D15557

Files:
  lib/Target/AArch64/AArch64Subtarget.h

Index: lib/Target/AArch64/AArch64Subtarget.h
===================================================================
--- lib/Target/AArch64/AArch64Subtarget.h
+++ lib/Target/AArch64/AArch64Subtarget.h
@@ -102,7 +102,7 @@
   const Triple &getTargetTriple() const { return TargetTriple; }
   bool enableMachineScheduler() const override { return true; }
   bool enablePostRAScheduler() const override {
-    return isCortexA53() || isCortexA57();
+    return isGeneric() || isCortexA53() || isCortexA57();
   }

   bool hasV8_1aOps() const { return HasV8_1aOps; }
@@ -139,6 +139,7 @@
   bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
   bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); }

+  bool isGeneric() const { return CPUString == "generic"; }
   bool isCyclone() const { return CPUString == "cyclone"; }
   bool isCortexA57() const { return CPUString == "cortex-a57"; }
   bool isCortexA53() const { return CPUString == "cortex-a53"; }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15557.42963.patch
Type: text/x-patch
Size: 981 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151216/01074794/attachment.bin>


More information about the llvm-commits mailing list