summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-03-27 17:33:52 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-03-27 17:33:52 +0000
commit4acbcb3171415269e9850e13b6dda04854f16393 (patch)
treed70b1369d7941685e9d124f02dfecc887a9ee5f4 /llvm/lib
parent6c08534affd4ca7490422090d19656a960304fee (diff)
downloadbcm5719-llvm-4acbcb3171415269e9850e13b6dda04854f16393.tar.gz
bcm5719-llvm-4acbcb3171415269e9850e13b6dda04854f16393.zip
ARMLoadStoreOptimizer invalidates register liveness.
This pass tries to update kill flags, but there are still many bugs. Passes after the load/store optimizer don't need accurate liveness, so don't even try. <rdar://problem/11101911> llvm-svn: 153519
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
index 51dfa65da62..5b729a642b7 100644
--- a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
@@ -1411,6 +1411,10 @@ bool ARMLoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
}
delete RS;
+
+ // Kill flags aren't updated accurately by this pass.
+ Fn.getRegInfo().invalidateLiveness();
+
return Modified;
}
OpenPOWER on IntegriCloud