summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AArch64/machine-outliner-flags.ll
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2018-07-27 16:44:42 +0000
committerJessica Paquette <jpaquette@apple.com>2018-07-27 16:44:42 +0000
commitd4229b985cbf4256fe23d682291bf923b0a5d5f0 (patch)
tree11a2480f024975e3fb01cb5ac50c2f69d45e9d69 /llvm/test/CodeGen/AArch64/machine-outliner-flags.ll
parentc7abb416dcc8b58fe9a4233f2af0e31b0c342ca6 (diff)
downloadbcm5719-llvm-d4229b985cbf4256fe23d682291bf923b0a5d5f0.tar.gz
bcm5719-llvm-d4229b985cbf4256fe23d682291bf923b0a5d5f0.zip
Enable MachineOutliner by default under -Oz for AArch64
This patch enables the MachineOutliner by default in AArch64 under -Oz. The MachineOutliner offers around a 4.5% improvement on the current -Oz code size improvements. We have done work into improving the debuggability of outlined code, so that users of -Oz won't be surprised by the optimization. We have also been executing the LLVM test suite and common external tests such as the SPEC suites continuously with no issue. The outliner has a low compile-time overhead of roughly 1%. At this point, the outliner would be a really good addition to the -Oz pass pipeline! llvm-svn: 338133
Diffstat (limited to 'llvm/test/CodeGen/AArch64/machine-outliner-flags.ll')
-rw-r--r--llvm/test/CodeGen/AArch64/machine-outliner-flags.ll8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/AArch64/machine-outliner-flags.ll b/llvm/test/CodeGen/AArch64/machine-outliner-flags.ll
index e00a19099cf..c435093b794 100644
--- a/llvm/test/CodeGen/AArch64/machine-outliner-flags.ll
+++ b/llvm/test/CodeGen/AArch64/machine-outliner-flags.ll
@@ -14,7 +14,7 @@
; RUN: | FileCheck %s -check-prefix=NEVER
; RUN: llc %s -debug-pass=Structure -verify-machineinstrs \
-; RUN: -mtriple arm64---- -o /dev/null 2>&1 \
+; RUN: --debug-only=machine-outliner -mtriple arm64---- -o /dev/null 2>&1 \
; RUN: | FileCheck %s -check-prefix=NOT-ADDED
; RUN: llc %s -O=0 -debug-pass=Structure -verify-machineinstrs \
@@ -27,10 +27,11 @@
; Cases where it should be added:
; * -enable-machine-outliner
; * -enable-machine-outliner=always
+; * -enable-machine-outliner is not passed (AArch64 supports
+; target-default outlining)
;
; Cases where it should not be added:
; * -O0 or equivalent
-; * -enable-machine-outliner is not passed
; * -enable-machine-outliner=never is passed
; ALWAYS: Machine Outliner
@@ -38,7 +39,8 @@
; ENABLE: Machine Outliner
; ENABLE: Machine Outliner: Running on all functions
; NEVER-NOT: Machine Outliner
-; NOT-ADDED-NOT: Machine Outliner
+; NOT-ADDED: Machine Outliner
+; NOT-ADDED: Machine Outliner: Running on target-default functions
; OPTNONE-NOT: Machine Outliner
define void @foo() {
OpenPOWER on IntegriCloud