aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/AArch64
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-02-23 19:02:03 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-02-23 19:02:03 +0000
commite49737eb046479c0610f1254ef311a91036a5144 (patch)
tree0329bf538c7f7b280e5c880aeccd90070e8a3040 /lib/Target/AArch64
parentc60b95818e4f6c00c872114318d01109f97a7fa3 (diff)
downloadsrc-e49737eb046479c0610f1254ef311a91036a5144.tar.gz
src-e49737eb046479c0610f1254ef311a91036a5144.zip
Vendor import of llvm release_40 branch r295910:vendor/llvm/llvm-release_40-r295910
Notes
Notes: svn path=/vendor/llvm/dist/; revision=314159 svn path=/vendor/llvm/llvm-release_40-r295910/; revision=314160; tag=vendor/llvm/llvm-release_40-r295910
Diffstat (limited to 'lib/Target/AArch64')
-rw-r--r--lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
index a2887aa81895..8e312dcf276f 100644
--- a/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+++ b/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
@@ -853,9 +853,11 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
.addImm(Imms);
}
}
- StoreI->clearRegisterKills(StRt, TRI);
- (void)BitExtMI;
+ // Clear kill flags between store and load.
+ for (MachineInstr &MI : make_range(StoreI->getIterator(),
+ BitExtMI->getIterator()))
+ MI.clearRegisterKills(StRt, TRI);
DEBUG(dbgs() << "Promoting load by replacing :\n ");
DEBUG(StoreI->print(dbgs()));