aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2012-03-09 00:24:29 +0000
committerEvan Cheng <evan.cheng@apple.com>2012-03-09 00:24:29 +0000
commit9ad62b3c09e03368246753c1052674eaf9b0d161 (patch)
tree4a7042e6c6858758f066ac290dae8bb8337ba014 /lib/CodeGen/MachineScheduler.cpp
parentcdaedf9f4acc60f8a7a1042af4be04291465e213 (diff)
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
Diffstat (limited to 'lib/CodeGen/MachineScheduler.cpp')
-rw-r--r--lib/CodeGen/MachineScheduler.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp
index 203ddfd18b..80862157cc 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;
}