From d02d917c72b80fc23636fd259bb11bb193a996d6 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 19 Jun 2008 17:47:47 +0000 Subject: [PATCH] Use Instruction::moveBefore instead of manipulating the instruction list directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52498 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/InstructionCombining.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 4409380bd7a..481f397a3f9 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -1672,9 +1672,8 @@ static Instruction *AssociativeOpt(BinaryOperator &Root, const Functor &F) { } Root.replaceAllUsesWith(TmpLHSI); // Users now use TmpLHSI TmpLHSI->setOperand(1, &Root); // TmpLHSI now uses the root - TmpLHSI->getParent()->getInstList().remove(TmpLHSI); BasicBlock::iterator ARI = &Root; ++ARI; - BB->getInstList().insert(ARI, TmpLHSI); // Move TmpLHSI to after Root + TmpLHSI->moveBefore(ARI); // Move TmpLHSI to after Root ARI = Root; // Now propagate the ExtraOperand down the chain of instructions until we @@ -1683,8 +1682,7 @@ static Instruction *AssociativeOpt(BinaryOperator &Root, const Functor &F) { Instruction *NextLHSI = cast(TmpLHSI->getOperand(0)); // Move the instruction to immediately before the chain we are // constructing to avoid breaking dominance properties. - NextLHSI->getParent()->getInstList().remove(NextLHSI); - BB->getInstList().insert(ARI, NextLHSI); + NextLHSI->moveBefore(ARI); ARI = NextLHSI; Value *NextOp = NextLHSI->getOperand(1);