diff options
-rw-r--r-- | include/llvm/Transforms/Utils/Local.h | 3 | ||||
-rw-r--r-- | lib/Transforms/Utils/Local.cpp | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/include/llvm/Transforms/Utils/Local.h b/include/llvm/Transforms/Utils/Local.h index a01cd06a8d..ed8bbdf3c3 100644 --- a/include/llvm/Transforms/Utils/Local.h +++ b/include/llvm/Transforms/Utils/Local.h @@ -25,8 +25,7 @@ bool doConstantPropogation(BasicBlock *BB, BasicBlock::iterator &I); // destination. This is a nontrivial operation because the successors of this // basic block must have their PHI nodes updated. // -bool ConstantFoldTerminator(BasicBlock *BB, BasicBlock::iterator &I, - TerminatorInst *T); +bool ConstantFoldTerminator(BasicBlock *BB); //===----------------------------------------------------------------------===// diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp index 36622642bf..eb06a5b1f9 100644 --- a/lib/Transforms/Utils/Local.cpp +++ b/lib/Transforms/Utils/Local.cpp @@ -34,8 +34,9 @@ bool doConstantPropogation(BasicBlock *BB, BasicBlock::iterator &II) { // constant value, convert it into an unconditional branch to the constant // destination. // -bool ConstantFoldTerminator(BasicBlock *BB, BasicBlock::iterator &II, - TerminatorInst *T) { +bool ConstantFoldTerminator(BasicBlock *BB) { + TerminatorInst *T = BB->getTerminator(); + // Branch - See if we are conditional jumping on constant if (BranchInst *BI = dyn_cast<BranchInst>(T)) { if (BI->isUnconditional()) return false; // Can't optimize uncond branch @@ -60,7 +61,6 @@ bool ConstantFoldTerminator(BasicBlock *BB, BasicBlock::iterator &II, // Set the unconditional destination, and change the insn to be an // unconditional branch. BI->setUnconditionalDest(Destination); - II = BB->end()-1; // Update instruction iterator! return true; } #if 0 |