summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2016-11-11 14:10:12 +0000
committerChad Rosier <mcrosier@codeaurora.org>2016-11-11 14:10:12 +0000
commit10c7aaaee981ffe8d6f30bc999595e94ba303297 (patch)
tree0fa822dab16f3b40ef49d624338538316363bf82 /llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
parentce0aba74c1d6d611b0ec6766cbba0475cdcb3a80 (diff)
downloadbcm5719-llvm-10c7aaaee981ffe8d6f30bc999595e94ba303297.tar.gz
bcm5719-llvm-10c7aaaee981ffe8d6f30bc999595e94ba303297.zip
[AArch64] Enable merging of adjacent zero stores for all subtargets.
This optimization merges adjacent zero stores into a wider store. e.g., strh wzr, [x0] strh wzr, [x0, #2] ; becomes str wzr, [x0] e.g., str wzr, [x0] str wzr, [x0, #4] ; becomes str xzr, [x0] Previously, this was only enabled for Kryo and Cortex-A57. Differential Revision: https://reviews.llvm.org/D26396 llvm-svn: 286592
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
index 3fe589fe7f3..fc5ed6e9c8c 100644
--- a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
@@ -1699,8 +1699,7 @@ bool AArch64LoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
UsedRegs.resize(TRI->getNumRegs());
bool Modified = false;
- bool enableNarrowZeroStOpt =
- Subtarget->mergeNarrowStores() && !Subtarget->requiresStrictAlign();
+ bool enableNarrowZeroStOpt = !Subtarget->requiresStrictAlign();
for (auto &MBB : Fn)
Modified |= optimizeBlock(MBB, enableNarrowZeroStOpt);
OpenPOWER on IntegriCloud