From 2ffbb6d20a865d55be4856a42afb699505c9922a Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Sun, 30 May 2004 03:33:49 +0000 Subject: [PATCH] Insert machine instructions generated for Phi nodes into their corresponding MachineCodeForInstruction vectors. I need to be able to get the register allocated for the thing which is called PhiCpRes in this code; this should make that task easier, plus, Phi nodes are no longer "special" in the sense that their MachineCodeForInstruction is empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13904 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SparcV9/InstrSelection/InstrSelection.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp index 8c3dd5d859e..c9be16f192f 100644 --- a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp +++ b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp @@ -217,6 +217,7 @@ void InstructionSelection::InsertCodeForPhis(Function &F) { // For each of PN's incoming values, insert a copy in the corresponding // predecessor block. + MachineCodeForInstruction &MCforPN = MachineCodeForInstruction::get (PN); for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i) { std::vector mvec, CpVec; Target.getRegInfo().cpValue2Value(PN->getIncomingValue(i), PhiCpRes, @@ -230,12 +231,14 @@ void InstructionSelection::InsertCodeForPhis(Function &F) { } // Insert the copy instructions into the predecessor BB. InsertPhiElimInstructions(PN->getIncomingBlock(i), CpVec); + MCforPN.insert (MCforPN.end (), CpVec.begin (), CpVec.end ()); } // Insert a copy instruction from PhiCpRes to PN. std::vector mvec; Target.getRegInfo().cpValue2Value(PhiCpRes, const_cast(PN), mvec); BB->insert(BB->begin(), mvec.begin(), mvec.end()); + MCforPN.insert (MCforPN.end (), mvec.begin (), mvec.end ()); } // for each Phi Instr in BB } // for all BBs in function }