diff options
author | Jun Bum Lim <junbuml@codeaurora.org> | 2016-05-20 18:45:49 +0000 |
---|---|---|
committer | Jun Bum Lim <junbuml@codeaurora.org> | 2016-05-20 18:45:49 +0000 |
commit | b21d4e17a222fbaffb31d12d1e3bca991e2a549b (patch) | |
tree | 1daf147e7353b9d2be64611288f3b29775443305 | |
parent | 9b5fcf65ecffdde3983ffd9ab3f0e79e89794235 (diff) | |
download | bcm5719-llvm-b21d4e17a222fbaffb31d12d1e3bca991e2a549b.tar.gz bcm5719-llvm-b21d4e17a222fbaffb31d12d1e3bca991e2a549b.zip |
[AArch64] Disable narrow load merge by default
Summary:
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.
Reviewers: t.p.northover, mcrosier, jmolloy
Subscribers: evandro, jmolloy, aemerson, rengolin, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D20172
llvm-svn: 270251
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp index 7557f249db9..49dc7d6a437 100644 --- a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp @@ -52,7 +52,7 @@ static cl::opt<unsigned> UpdateLimit("aarch64-update-scan-limit", cl::init(100), 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 { diff --git a/llvm/test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll b/llvm/test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll index 65e209493a9..be5b7e9b296 100644 --- a/llvm/test/CodeGen/AArch64/arm64-narrow-ldst-merge.ll +++ b/llvm/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 |