diff options
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/BranchFolding.cpp | 11 | ||||
-rw-r--r-- | llvm/lib/CodeGen/TailDuplicator.cpp | 11 |
2 files changed, 10 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/BranchFolding.cpp b/llvm/lib/CodeGen/BranchFolding.cpp index 1638562..2f07c4b 100644 --- a/llvm/lib/CodeGen/BranchFolding.cpp +++ b/llvm/lib/CodeGen/BranchFolding.cpp @@ -1198,14 +1198,13 @@ bool BranchFolder::OptimizeBranches(MachineFunction &MF) { // Renumbering blocks alters EH scope membership, recalculate it. EHScopeMembership = getEHScopeMembership(MF); - for (MachineFunction::iterator I = std::next(MF.begin()), E = MF.end(); - I != E; ) { - MachineBasicBlock *MBB = &*I++; - MadeChange |= OptimizeBlock(MBB); + for (MachineBasicBlock &MBB : + llvm::make_early_inc_range(llvm::drop_begin(MF))) { + MadeChange |= OptimizeBlock(&MBB); // If it is dead, remove it. - if (MBB->pred_empty()) { - RemoveDeadBlock(MBB); + if (MBB.pred_empty()) { + RemoveDeadBlock(&MBB); MadeChange = true; ++NumDeadBlocks; } diff --git a/llvm/lib/CodeGen/TailDuplicator.cpp b/llvm/lib/CodeGen/TailDuplicator.cpp index af735f2..b82eaa5 100644 --- a/llvm/lib/CodeGen/TailDuplicator.cpp +++ b/llvm/lib/CodeGen/TailDuplicator.cpp @@ -279,18 +279,17 @@ bool TailDuplicator::tailDuplicateBlocks() { VerifyPHIs(*MF, true); } - for (MachineFunction::iterator I = ++MF->begin(), E = MF->end(); I != E;) { - MachineBasicBlock *MBB = &*I++; - + for (MachineBasicBlock &MBB : + llvm::make_early_inc_range(llvm::drop_begin(*MF))) { if (NumTails == TailDupLimit) break; - bool IsSimple = isSimpleBB(MBB); + bool IsSimple = isSimpleBB(&MBB); - if (!shouldTailDuplicate(IsSimple, *MBB)) + if (!shouldTailDuplicate(IsSimple, MBB)) continue; - MadeChange |= tailDuplicateAndUpdate(IsSimple, MBB, nullptr); + MadeChange |= tailDuplicateAndUpdate(IsSimple, &MBB, nullptr); } if (PreRegAlloc && TailDupVerify) |