diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2018-08-26 09:51:22 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2018-08-26 09:51:22 +0000 |
commit | 9ae926b973e42633f7bc7db39b33241dbb9f2158 (patch) | |
tree | 032f0dabf8a90e9c14cd3f96b32ec6cc117609e0 /llvm/lib/Analysis/InstructionSimplify.cpp | |
parent | d38d9505d1bf380a67bccc6f5a29019394c1fd43 (diff) | |
download | bcm5719-llvm-9ae926b973e42633f7bc7db39b33241dbb9f2158.tar.gz bcm5719-llvm-9ae926b973e42633f7bc7db39b33241dbb9f2158.zip |
[IR] Replace `isa<TerminatorInst>` with `isTerminator()`.
This is a bit awkward in a handful of places where we didn't even have
an instruction and now we have to see if we can build one. But on the
whole, this seems like a win and at worst a reasonable cost for removing
`TerminatorInst`.
All of this is part of the removal of `TerminatorInst` from the
`Instruction` type hierarchy.
llvm-svn: 340701
Diffstat (limited to 'llvm/lib/Analysis/InstructionSimplify.cpp')
-rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index 290d169df24..f14de66a62c 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -5165,7 +5165,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) && + if (I->getParent() && !I->isEHPad() && !I->isTerminator() && !I->mayHaveSideEffects()) I->eraseFromParent(); } else { @@ -5194,7 +5194,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) && + if (I->getParent() && !I->isEHPad() && !I->isTerminator() && !I->mayHaveSideEffects()) I->eraseFromParent(); } |