Changes in directory llvm/lib/Transforms/Utils:
LCSSA.cpp updated: 1.21 -> 1.22 --- Log message: Fix another instance where PHI nodes need special treatment. --- Diffs of the changes: (+6 -0) LCSSA.cpp | 6 ++++++ 1 files changed, 6 insertions(+) Index: llvm/lib/Transforms/Utils/LCSSA.cpp diff -u llvm/lib/Transforms/Utils/LCSSA.cpp:1.21 llvm/lib/Transforms/Utils/LCSSA.cpp:1.22 --- llvm/lib/Transforms/Utils/LCSSA.cpp:1.21 Tue Jun 13 14:37:18 2006 +++ llvm/lib/Transforms/Utils/LCSSA.cpp Tue Jun 13 15:50:09 2006 @@ -215,6 +215,12 @@ for (Instruction::use_iterator UI = Instr->use_begin(), UE = Instr->use_end(); UI != UE; ++UI) { Instruction* use = cast<Instruction>(*UI); + BasicBlock* UserBB = use->getParent(); + if (PHINode* p = dyn_cast<PHINode>(use)) { + unsigned OperandNo = UI.getOperandNo(); + UserBB = p->getIncomingBlock(OperandNo/2); + } + // Don't need to update uses within the loop body. if (!inLoop(use->getParent())) Uses.push_back(use); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits