diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-08-19 21:52:06 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-08-19 21:52:06 +0000 |
commit | 26e19288be397c726ba07e0638b5b61e6d45f726 (patch) | |
tree | 6338ee1b80c46717ff465937ff60b69689bce8dd /llvm/lib/Transforms/Scalar/ADCE.cpp | |
parent | 029529369b2fcb5be9977b4fc4ff5e6a05c8b108 (diff) | |
download | bcm5719-llvm-26e19288be397c726ba07e0638b5b61e6d45f726.tar.gz bcm5719-llvm-26e19288be397c726ba07e0638b5b61e6d45f726.zip |
The landingpad instruction isn't dead simply because it's value isn't used.
llvm-svn: 138102
Diffstat (limited to 'llvm/lib/Transforms/Scalar/ADCE.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/ADCE.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/ADCE.cpp b/llvm/lib/Transforms/Scalar/ADCE.cpp index a5adb5e7cef..ba214d1a332 100644 --- a/llvm/lib/Transforms/Scalar/ADCE.cpp +++ b/llvm/lib/Transforms/Scalar/ADCE.cpp @@ -57,6 +57,7 @@ bool ADCE::runOnFunction(Function& F) { for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) if (isa<TerminatorInst>(I.getInstructionIterator()) || isa<DbgInfoIntrinsic>(I.getInstructionIterator()) || + isa<LandingPadInst>(I.getInstructionIterator()) || I->mayHaveSideEffects()) { alive.insert(I.getInstructionIterator()); worklist.push_back(I.getInstructionIterator()); @@ -65,7 +66,6 @@ bool ADCE::runOnFunction(Function& F) { // Propagate liveness backwards to operands. while (!worklist.empty()) { Instruction* curr = worklist.pop_back_val(); - for (Instruction::op_iterator OI = curr->op_begin(), OE = curr->op_end(); OI != OE; ++OI) if (Instruction* Inst = dyn_cast<Instruction>(OI)) |