From 4ba08ecbcf7f784ec1d8ece7f062c529b668085a Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 13 Dec 2007 05:43:37 +0000 Subject: [PATCH] Remove ugly and horrible code. It's not necessary for correctness, and can be added back later if it causes code quality issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44986 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/StrongPHIElimination.cpp | 54 +++++------------------------------- 1 file changed, 7 insertions(+), 47 deletions(-) diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp index 9519e7c9d7e..eef10ef3c0d 100644 --- a/lib/CodeGen/StrongPHIElimination.cpp +++ b/lib/CodeGen/StrongPHIElimination.cpp @@ -330,43 +330,6 @@ void StrongPHIElimination::processPHIUnion(MachineInstr* Inst, LiveVariables::VarInfo& CInfo = LV.getVarInfo(child->getReg()); if (isLiveOut(Info, CInfo.DefInst->getParent())) { - interferences.insert(child); - } else if (isLiveIn(Info, CInfo.DefInst->getParent()) || - Info.DefInst->getParent() == CInfo.DefInst->getParent()) { - // FIXME: Add (p, c) to possible local interferences - } - - if (!visited.count(child)) { - worklist.push_back(child); - inserted = true; - } - } - - if (interferences.size() == 1) { - DomForestNode* child = *interferences.begin(); - - unsigned numParentCopies = 0; - unsigned numChildCopies = 0; - for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { - unsigned SrcReg = Inst->getOperand(i-1).getReg(); - if (SrcReg == DFNode->getReg()) numParentCopies++; - else if (SrcReg == child->getReg()) numChildCopies++; - } - - if (numParentCopies < numChildCopies) { - // Insert copies for child - for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { - if (Inst->getOperand(i-1).getReg() == child->getReg()) { - unsigned SrcReg = child->getReg(); - MachineBasicBlock* From = Inst->getOperand(i).getMBB(); - - Waiting[From].push_back(std::make_pair(SrcReg, DestReg)); - PHIUnion.erase(SrcReg); - } - } - - // FIXME: Make child's children parent's children - } else { // Insert copies for parent for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { if (Inst->getOperand(i-1).getReg() == DFNode->getReg()) { @@ -377,17 +340,14 @@ void StrongPHIElimination::processPHIUnion(MachineInstr* Inst, PHIUnion.erase(SrcReg); } } + } else if (isLiveIn(Info, CInfo.DefInst->getParent()) || + Info.DefInst->getParent() == CInfo.DefInst->getParent()) { + // FIXME: Add (p, c) to possible local interferences } - } else if (interferences.size() > 1) { - // Insert copies for parent - for (int i = Inst->getNumOperands() - 1; i >= 2; i-=2) { - if (Inst->getOperand(i-1).getReg() == DFNode->getReg()) { - unsigned SrcReg = DFNode->getReg(); - MachineBasicBlock* From = Inst->getOperand(i).getMBB(); - - Waiting[From].push_back(std::make_pair(SrcReg, DestReg)); - PHIUnion.erase(SrcReg); - } + + if (!visited.count(child)) { + worklist.push_back(child); + inserted = true; } } -- 2.11.0