diff options
Diffstat (limited to 'llvm/lib/Analysis/InstructionSimplify.cpp')
| -rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index ac03fdc86e6..5b723e59742 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -4356,8 +4356,7 @@ static bool replaceAndRecursivelySimplifyImpl(Instruction *I, Value *SimpleV, // Gracefully handle edge cases where the instruction is not wired into any // parent block. - if (I->getParent() && !I->isEHPad() && !isa<TerminatorInst>(I) && - !I->mayHaveSideEffects()) + if (I->getParent()) I->eraseFromParent(); } else { Worklist.insert(I); @@ -4385,8 +4384,7 @@ static bool replaceAndRecursivelySimplifyImpl(Instruction *I, Value *SimpleV, // Gracefully handle edge cases where the instruction is not wired into any // parent block. - if (I->getParent() && !I->isEHPad() && !isa<TerminatorInst>(I) && - !I->mayHaveSideEffects()) + if (I->getParent()) I->eraseFromParent(); } return Simplified; |

