Removing a dead debug intrinsic shouldn't trigger

another instcombine pass if we weren't going to make
one without debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66576 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dale Johannesen 2009-03-10 21:19:49 +00:00
parent 41d88d2ac0
commit ff278b11bf

View File

@ -12566,12 +12566,15 @@ bool InstCombiner::DoOneIteration(Function &F, unsigned Iteration) {
BasicBlock::iterator I = Term; --I;
DOUT << "IC: DCE: " << *I;
++NumDeadInst;
// A debug intrinsic shouldn't force another iteration if we weren't
// going to do one without it.
if (!isa<DbgInfoIntrinsic>(I)) {
++NumDeadInst;
Changed = true;
}
if (!I->use_empty())
I->replaceAllUsesWith(UndefValue::get(I->getType()));
I->eraseFromParent();
Changed = true;
}
}
}