summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2012-03-16 14:21:47 -0400
committerTom Stellard <thomas.stellard@amd.com>2012-03-16 14:21:47 -0400
commitfe10c949fea8012ad924f11838e74bc83cfebe42 (patch)
treedfb48f675fd089afafcf7ec81f9270ff8991a548
parent14fcf10174f389264c1959182650b3299c1ed654 (diff)
r600/llvm: Fix hang in R600LowerInstructions pass
-rw-r--r--src/gallium/drivers/radeon/R600LowerInstructions.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/gallium/drivers/radeon/R600LowerInstructions.cpp b/src/gallium/drivers/radeon/R600LowerInstructions.cpp
index 22792aa646e..eac4d80e639 100644
--- a/src/gallium/drivers/radeon/R600LowerInstructions.cpp
+++ b/src/gallium/drivers/radeon/R600LowerInstructions.cpp
@@ -93,8 +93,8 @@ bool R600LowerInstructionsPass::runOnMachineFunction(MachineFunction &MF)
for (MachineFunction::iterator BB = MF.begin(), BB_E = MF.end();
BB != BB_E; ++BB) {
MachineBasicBlock &MBB = *BB;
- for (MachineBasicBlock::iterator I = MBB.begin(), Prev = NULL;
- I != MBB.end(); Prev = I, I ? ++I : I = MBB.begin() ) {
+ for (MachineBasicBlock::iterator I = MBB.begin(), Next = llvm::next(I);
+ I != MBB.end(); I = Next, Next = llvm::next(I) ) {
MachineInstr &MI = *I;
switch(MI.getOpcode()) {
@@ -398,11 +398,6 @@ bool R600LowerInstructionsPass::runOnMachineFunction(MachineFunction &MF)
continue;
}
MI.eraseFromParent();
- if (Prev) {
- I = Prev;
- } else {
- I = NULL;
- }
}
}
return false;