From 9ad62b3c09e03368246753c1052674eaf9b0d161 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 9 Mar 2012 00:24:29 +0000 Subject: [PATCH] Cache MBB->begin. It's possible the scheduler / bundler may change MBB->begin(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152356 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineScheduler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp index 203ddfd18bc..80862157cc4 100644 --- a/lib/CodeGen/MachineScheduler.cpp +++ b/lib/CodeGen/MachineScheduler.cpp @@ -128,13 +128,13 @@ bool MachineScheduler::runOnMachineFunction(MachineFunction &mf) { // Break the block into scheduling regions [I, RegionEnd), and schedule each // region as soon as it is discovered. unsigned RemainingCount = MBB->size(); - for(MachineBasicBlock::iterator RegionEnd = MBB->end(); - RegionEnd != MBB->begin();) { + for(MachineBasicBlock::iterator RegionEnd = MBB->end(), + RegionStart = MBB->begin(); RegionEnd != RegionStart;) { Scheduler->startBlock(MBB); // The next region starts above the previous region. Look backward in the // instruction stream until we find the nearest boundary. MachineBasicBlock::iterator I = RegionEnd; - for(;I != MBB->begin(); --I, --RemainingCount) { + for(;I != RegionStart; --I, --RemainingCount) { if (TII->isSchedulingBoundary(llvm::prior(I), MBB, *MF)) break; } -- 2.11.0