Insert new instructions in AliasSet.
authorDevang Patel <dpatel@apple.com>
Fri, 1 Jun 2007 22:15:31 +0000 (22:15 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 1 Jun 2007 22:15:31 +0000 (22:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37390 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LICM.cpp

index 087325c69060eec959e05e9331d6e4b8e2e601a0..3b16814fe86d07b93608e5a2b52f7f49f9403983 100644 (file)
@@ -476,9 +476,11 @@ void LICM::sink(Instruction &I) {
     // Firstly, we create a stack object to hold the value...
     AllocaInst *AI = 0;
 
-    if (I.getType() != Type::VoidTy)
+    if (I.getType() != Type::VoidTy) {
       AI = new AllocaInst(I.getType(), 0, I.getName(),
                           I.getParent()->getParent()->getEntryBlock().begin());
+      CurAST->add(AI);
+    }
 
     // Secondly, insert load instructions for each use of the instruction
     // outside of the loop.
@@ -499,6 +501,7 @@ void LICM::sink(Instruction &I) {
               // Insert a new load instruction right before the terminator in
               // the predecessor block.
               PredVal = new LoadInst(AI, "", Pred->getTerminator());
+              CurAST->add(cast<LoadInst>(PredVal));
             }
 
             UPN->setIncomingValue(i, PredVal);
@@ -507,6 +510,7 @@ void LICM::sink(Instruction &I) {
       } else {
         LoadInst *L = new LoadInst(AI, "", U);
         U->replaceUsesOfWith(&I, L);
+        CurAST->add(L);
       }
     }