diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2012-03-16 14:21:47 -0400 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2012-03-16 14:21:47 -0400 |
commit | fe10c949fea8012ad924f11838e74bc83cfebe42 (patch) | |
tree | dfb48f675fd089afafcf7ec81f9270ff8991a548 | |
parent | 14fcf10174f389264c1959182650b3299c1ed654 (diff) |
r600/llvm: Fix hang in R600LowerInstructions pass
-rw-r--r-- | src/gallium/drivers/radeon/R600LowerInstructions.cpp | 9 |
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; |