Zap dead instructions harder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122645 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Utils/SimplifyInstructions.cpp b/lib/Transforms/Utils/SimplifyInstructions.cpp
index 4e00784..4205622 100644
--- a/lib/Transforms/Utils/SimplifyInstructions.cpp
+++ b/lib/Transforms/Utils/SimplifyInstructions.cpp
@@ -83,13 +83,8 @@
// Finally, run over the function zapping any dead instructions.
for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
- for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE;) {
- Instruction *I = BI++;
- if (isInstructionTriviallyDead(I)) {
- I->eraseFromParent();
- Changed = true;
- }
- }
+ for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE;)
+ Changed |= RecursivelyDeleteTriviallyDeadInstructions(BI++);
return Changed;
}