diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index f57d8b1c36b..cdc1e3b1b0f 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -792,7 +792,8 @@ bool InstCombiner::runOnFunction(Function &F) { for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) if (Instruction *Op = dyn_cast(I->getOperand(i))) WorkList.push_back(Op); - I->replaceAllUsesWith(C); + ReplaceInstUsesWith(*I, C); + ++NumConstProp; BasicBlock::iterator BBI = I; if (dceInstruction(BBI)) {