code cleanup, no functionality change.
authorChris Lattner <sabre@nondot.org>
Thu, 24 Apr 2008 00:16:28 +0000 (00:16 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 24 Apr 2008 00:16:28 +0000 (00:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50201 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/SCCP.cpp

index da92cc404887f0bd7f2ec06b48637fa4d5af3f54..bef13affd8b026e5bfd6974b2510c896e985fc6f 100644 (file)
@@ -1516,25 +1516,27 @@ bool SCCP::runOnFunction(Function &F) {
       //
       for (BasicBlock::iterator BI = BB->begin(), E = BB->end(); BI != E; ) {
         Instruction *Inst = BI++;
-        if (Inst->getType() != Type::VoidTy) {
-          LatticeVal &IV = Values[Inst];
-          if ((IV.isConstant() || IV.isUndefined()) &&
-              !isa<TerminatorInst>(Inst)) {
-            Constant *Const = IV.isConstant()
-              ? IV.getConstant() : UndefValue::get(Inst->getType());
-            DOUT << "  Constant: " << *Const << " = " << *Inst;
-
-            // Replaces all of the uses of a variable with uses of the constant.
-            Inst->replaceAllUsesWith(Const);
-
-            // Delete the instruction.
-            BB->getInstList().erase(Inst);
-
-            // Hey, we just changed something!
-            MadeChanges = true;
-            ++NumInstRemoved;
-          }
-        }
+        if (Inst->getType() == Type::VoidTy || 
+            isa<TerminatorInst>(Inst))
+          continue;
+        
+        LatticeVal &IV = Values[Inst];
+        if (!IV.isConstant() && !IV.isUndefined())
+          continue;
+        
+        Constant *Const = IV.isConstant()
+          ? IV.getConstant() : UndefValue::get(Inst->getType());
+        DOUT << "  Constant: " << *Const << " = " << *Inst;
+
+        // Replaces all of the uses of a variable with uses of the constant.
+        Inst->replaceAllUsesWith(Const);
+        
+        // Delete the instruction.
+        Inst->eraseFromParent();
+        
+        // Hey, we just changed something!
+        MadeChanges = true;
+        ++NumInstRemoved;
       }
     }