diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp
index a82cad2..0a6bd39 100644
--- a/lib/CodeGen/BranchFolding.cpp
+++ b/lib/CodeGen/BranchFolding.cpp
@@ -28,8 +28,8 @@
     virtual bool runOnMachineFunction(MachineFunction &MF);
     virtual const char *getPassName() const { return "Branch Folder"; }
   private:
-    bool OptimizeBlock(MachineBasicBlock *MBB, const TargetInstrInfo &TII);
-
+    bool OptimizeBlock(MachineFunction::iterator MBB,
+                       const TargetInstrInfo &TII);
 
     bool isUncondBranch(const MachineInstr *MI, const TargetInstrInfo &TII) {
       return TII.isBarrier(MI->getOpcode()) && TII.isBranch(MI->getOpcode());
@@ -108,13 +108,13 @@
 }
 
 
-bool BranchFolder::OptimizeBlock(MachineBasicBlock *MBB,
+bool BranchFolder::OptimizeBlock(MachineFunction::iterator MBB,
                                  const TargetInstrInfo &TII) {
   // If this block is empty, make everyone use it's fall-through, not the block
   // explicitly.
   if (MBB->empty()) {
     if (MBB->pred_empty()) return false;
-    MachineFunction::iterator FallThrough =next(MachineFunction::iterator(MBB));
+    MachineFunction::iterator FallThrough =next(MBB);
     assert(FallThrough != MBB->getParent()->end() &&
            "Fell off the end of the function!");
     while (!MBB->pred_empty()) {
