Author: resistor Date: Tue Dec 11 19:25:08 2007 New Revision: 44902 URL: http://llvm.org/viewvc/llvm-project?rev=44902&view=rev Log: Forgot to remove a register from the PHI-union after I'd determined that it interfered with other registers. Seems like that might be a good thing to do. :-)
Modified: llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp Modified: llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp?rev=44902&r1=44901&r2=44902&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp (original) +++ llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp Tue Dec 11 19:25:08 2007 @@ -357,10 +357,11 @@ // Insert copies for child for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { if (Inst->getOperand(i-1).getReg() == child->getReg()) { - unsigned SrcReg = Inst->getOperand(i-1).getReg(); + unsigned SrcReg = child->getReg(); MachineBasicBlock* From = Inst->getOperand(i).getMBB(); Waiting[From].push_back(std::make_pair(SrcReg, DestReg)); + PHIUnion.erase(SrcReg); } } @@ -369,10 +370,11 @@ // Insert copies for parent for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { if (Inst->getOperand(i-1).getReg() == DFNode->getReg()) { - unsigned SrcReg = Inst->getOperand(i-1).getReg(); + unsigned SrcReg = DFNode->getReg(); MachineBasicBlock* From = Inst->getOperand(i).getMBB(); Waiting[From].push_back(std::make_pair(SrcReg, DestReg)); + PHIUnion.erase(SrcReg); } } } @@ -380,10 +382,11 @@ // Insert copies for parent for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { if (Inst->getOperand(i-1).getReg() == DFNode->getReg()) { - unsigned SrcReg = Inst->getOperand(i-1).getReg(); + unsigned SrcReg = DFNode->getReg(); MachineBasicBlock* From = Inst->getOperand(i).getMBB(); Waiting[From].push_back(std::make_pair(SrcReg, DestReg)); + PHIUnion.erase(SrcReg); } } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits