ARMLoadStoreOptimizer invalidates register liveness.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 27 Mar 2012 17:33:52 +0000 (17:33 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 27 Mar 2012 17:33:52 +0000 (17:33 +0000)
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>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153519 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMLoadStoreOptimizer.cpp

index 51dfa65da62e890063129051d755019fbe284269..5b729a642b7d2814c9476ff1231f5fa9d4a3e7b9 100644 (file)
@@ -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;
 }