Use Instruction::eraseFromParent().
authorDan Gohman <gohman@apple.com>
Sat, 21 Jun 2008 22:08:46 +0000 (22:08 +0000)
committerDan Gohman <gohman@apple.com>
Sat, 21 Jun 2008 22:08:46 +0000 (22:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52606 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/LowerSetJmp.cpp
lib/Transforms/IPO/RaiseAllocations.cpp
lib/Transforms/Scalar/ConstantProp.cpp
lib/Transforms/Scalar/GCSE.cpp
lib/Transforms/Utils/CodeExtractor.cpp
lib/Transforms/Utils/InlineFunction.cpp
lib/Transforms/Utils/Local.cpp

index 20385f8ba6c8ff81c657b42067d7c9e0362e5cf8..80158b43a5c0bf043d925092f9ea0d044c2daf95 100644 (file)
@@ -440,7 +440,7 @@ void LowerSetJmp::TransformSetJmpCall(CallInst* Inst)
   // Replace all uses of this instruction with the PHI node created by
   // the eradication of setjmp.
   Inst->replaceAllUsesWith(PHI);
-  Inst->getParent()->getInstList().erase(Inst);
+  Inst->eraseFromParent();
 
   ++SetJmpsTransformed;
 }
@@ -478,10 +478,10 @@ void LowerSetJmp::visitCallInst(CallInst& CI)
 
   // Replace the old call inst with the invoke inst and remove the call.
   CI.replaceAllUsesWith(II);
-  CI.getParent()->getInstList().erase(&CI);
+  CI.eraseFromParent();
 
   // The old terminator is useless now that we have the invoke inst.
-  Term->getParent()->getInstList().erase(Term);
+  Term->eraseFromParent();
   ++CallsTransformed;
 }
 
index 58fd682eb7a098dab4495b07da8d6cb0be0a0a00..daf8ef00053ef22a69f8d2cc97609ed694093675 100644 (file)
@@ -177,7 +177,7 @@ bool RaiseAllocations::runOnModule(Module &M) {
             BranchInst::Create(II->getNormalDest(), I);
 
           // Delete the old call site
-          MI->getParent()->getInstList().erase(I);
+          I->eraseFromParent();
           Changed = true;
           ++NumRaised;
         }
index 90e8dad4f8af0605bf1831d4e52695a555e2c699..dbbc86142cf02d7daed9774d2475a020a75ca7d2 100644 (file)
@@ -79,7 +79,7 @@ bool ConstantPropagation::runOnFunction(Function &F) {
 
         // Remove the dead instruction.
         WorkList.erase(I);
-        I->getParent()->getInstList().erase(I);
+        I->eraseFromParent();
 
         // We made a change to the function...
         Changed = true;
index 94cdcb1400f1bc34c83ce4b3b72e6a6a9b9a104a..9d3f1a87506b60b36559a853f06e711a426f9525 100644 (file)
@@ -201,5 +201,5 @@ void GCSE::ReplaceInstructionWith(Instruction *I, Value *V) {
   }
 
   // Erase the instruction from the program.
-  I->getParent()->getInstList().erase(I);
+  I->eraseFromParent();
 }
index cb7a5293b7f48a54b509ae60704eed2a943dbbbd..1c937fbd0d0e3063de9e06ee6f586c7b864d4032 100644 (file)
@@ -550,18 +550,18 @@ emitCallAndSwitchStatement(Function *newFunction, BasicBlock *codeReplacer,
       ReturnInst::Create(Constant::getNullValue(OldFnRetTy), TheSwitch);
     }
 
-    TheSwitch->getParent()->getInstList().erase(TheSwitch);
+    TheSwitch->eraseFromParent();
     break;
   case 1:
     // Only a single destination, change the switch into an unconditional
     // branch.
     BranchInst::Create(TheSwitch->getSuccessor(1), TheSwitch);
-    TheSwitch->getParent()->getInstList().erase(TheSwitch);
+    TheSwitch->eraseFromParent();
     break;
   case 2:
     BranchInst::Create(TheSwitch->getSuccessor(1), TheSwitch->getSuccessor(2),
                        call, TheSwitch);
-    TheSwitch->getParent()->getInstList().erase(TheSwitch);
+    TheSwitch->eraseFromParent();
     break;
   default:
     // Otherwise, make the default destination of the switch instruction be one
index a6ef1b78dc6dd583b7369e08f5b981f1e4cdcc8b..22dab6984654906228a828e2c374c90632e6c2e1 100644 (file)
@@ -119,7 +119,7 @@ static void HandleInlinedInvoke(InvokeInst *II, BasicBlock *FirstNewBlock,
         BranchInst::Create(InvokeDest, UI);
         
         // Delete the unwind instruction!
-        UI->getParent()->getInstList().pop_back();
+        UI->eraseFromParent();
         
         // Update any PHI nodes in the exceptional block to indicate that
         // there is now a new entry in them.
@@ -455,10 +455,10 @@ bool llvm::InlineFunction(CallSite CS, CallGraph *CG, const TargetData *TD) {
         TheCall->replaceAllUsesWith(R->getReturnValue());
     }
     // Since we are now done with the Call/Invoke, we can delete it.
-    TheCall->getParent()->getInstList().erase(TheCall);
+    TheCall->eraseFromParent();
 
     // Since we are now done with the return instruction, delete it also.
-    Returns[0]->getParent()->getInstList().erase(Returns[0]);
+    Returns[0]->eraseFromParent();
 
     // We are now done with the inlining.
     return true;
index 0f7d02c8886ef4a72eccd36eac1acb040475e970..ed67c5eaaaee080b502c160cad82f08a7e9cfa71 100644 (file)
@@ -159,7 +159,7 @@ bool llvm::ConstantFoldTerminator(BasicBlock *BB) {
       BranchInst::Create(SI->getSuccessor(1), SI->getSuccessor(0), Cond, SI);
 
       // Delete the old switch...
-      SI->getParent()->getInstList().erase(SI);
+      SI->eraseFromParent();
       return true;
     }
   }