[PATCH] D20172: [AArch64] Disable narrow load merge by default
Jun Bum Lim via llvm-commits
llvm-commits at lists.llvm.org
Wed May 11 08:43:41 PDT 2016
junbuml created this revision.
junbuml added reviewers: jmolloy, t.p.northover, mcrosier.
junbuml added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, rengolin, aemerson.
As this optimization converts two loads into one load with two shift instructions,
it could potentially hurt performance if a loop is arithmetic operation intensive.
http://reviews.llvm.org/D20172
Files:
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll
Index: test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll
===================================================================
--- test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll
+++ test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll
@@ -1,6 +1,6 @@
-; RUN: llc < %s -mtriple aarch64--none-eabi -mcpu=cortex-a57 -verify-machineinstrs | FileCheck %s --check-prefix=CHECK --check-prefix=LE
-; RUN: llc < %s -mtriple aarch64_be--none-eabi -mcpu=cortex-a57 -verify-machineinstrs | FileCheck %s --check-prefix=CHECK --check-prefix=BE
-; RUN: llc < %s -mtriple aarch64--none-eabi -mcpu=kryo -verify-machineinstrs | FileCheck %s --check-prefix=CHECK --check-prefix=LE
+; RUN: llc < %s -mtriple aarch64--none-eabi -mcpu=cortex-a57 -verify-machineinstrs -enable-narrow-ld-merge=true | FileCheck %s --check-prefix=CHECK --check-prefix=LE
+; RUN: llc < %s -mtriple aarch64_be--none-eabi -mcpu=cortex-a57 -verify-machineinstrs -enable-narrow-ld-merge=true | FileCheck %s --check-prefix=CHECK --check-prefix=BE
+; RUN: llc < %s -mtriple aarch64--none-eabi -mcpu=kryo -verify-machineinstrs -enable-narrow-ld-merge=true | FileCheck %s --check-prefix=CHECK --check-prefix=LE
; CHECK-LABEL: Ldrh_merge
; CHECK-NOT: ldrh
Index: lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
===================================================================
--- lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+++ lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
@@ -52,7 +52,7 @@
cl::Hidden);
static cl::opt<bool> EnableNarrowLdMerge("enable-narrow-ld-merge", cl::Hidden,
- cl::init(true),
+ cl::init(false),
cl::desc("Enable narrow load merge"));
namespace llvm {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20172.56920.patch
Type: text/x-patch
Size: 1799 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160511/75546252/attachment.bin>
More information about the llvm-commits
mailing list