* Switch over to cleaner TmpInstruction model
authorChris Lattner <sabre@nondot.org>
Sun, 3 Feb 2002 07:39:06 +0000 (07:39 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 3 Feb 2002 07:39:06 +0000 (07:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1648 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp
lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp

index 34dd83b49e0b85ce236918723d0c246dfa920c17..ff655fc98da6ee089cdf61753de9010fcbb79bdb 100644 (file)
 #include "llvm/CodeGen/InstrSelectionSupport.h"
 #include "llvm/CodeGen/InstrSelection.h"
 #include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/CodeGen/MachineCodeForInstruction.h"
+#include "llvm/CodeGen/MachineCodeForMethod.h"
+#include "llvm/CodeGen/InstrForest.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/MachineRegInfo.h"
 #include "llvm/ConstantVals.h"
 #include "llvm/Method.h"
 #include "llvm/BasicBlock.h"
-#include "llvm/Instruction.h"
 #include "llvm/Type.h"
 #include "llvm/iMemory.h"
 using std::vector;
@@ -36,16 +38,16 @@ InsertCodeToLoadConstant(Value* opValue,
   vector<TmpInstruction*> tempVec;
   
   // Create a tmp virtual register to hold the constant.
-  TmpInstruction* tmpReg =
-    new TmpInstruction(TMP_INSTRUCTION_OPCODE, opValue, NULL);
-  vmInstr->getMachineInstrVec().addTempValue(tmpReg);
+  TmpInstruction* tmpReg = new TmpInstruction(opValue);
+  MachineCodeForInstruction &MCFI = MachineCodeForInstruction::get(vmInstr);
+  MCFI.addTemp(tmpReg);
   
   target.getInstrInfo().CreateCodeToLoadConst(opValue, tmpReg,
                                               loadConstVec, tempVec);
   
   // Register the new tmp values created for this m/c instruction sequence
   for (unsigned i=0; i < tempVec.size(); i++)
-    vmInstr->getMachineInstrVec().addTempValue(tempVec[i]);
+    MCFI.addTemp(tempVec[i]);
   
   // Record the mapping from the tmp VM instruction to machine instruction.
   // Do this for all machine instructions that were not mapped to any
index 34dd83b49e0b85ce236918723d0c246dfa920c17..ff655fc98da6ee089cdf61753de9010fcbb79bdb 100644 (file)
 #include "llvm/CodeGen/InstrSelectionSupport.h"
 #include "llvm/CodeGen/InstrSelection.h"
 #include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/CodeGen/MachineCodeForInstruction.h"
+#include "llvm/CodeGen/MachineCodeForMethod.h"
+#include "llvm/CodeGen/InstrForest.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/MachineRegInfo.h"
 #include "llvm/ConstantVals.h"
 #include "llvm/Method.h"
 #include "llvm/BasicBlock.h"
-#include "llvm/Instruction.h"
 #include "llvm/Type.h"
 #include "llvm/iMemory.h"
 using std::vector;
@@ -36,16 +38,16 @@ InsertCodeToLoadConstant(Value* opValue,
   vector<TmpInstruction*> tempVec;
   
   // Create a tmp virtual register to hold the constant.
-  TmpInstruction* tmpReg =
-    new TmpInstruction(TMP_INSTRUCTION_OPCODE, opValue, NULL);
-  vmInstr->getMachineInstrVec().addTempValue(tmpReg);
+  TmpInstruction* tmpReg = new TmpInstruction(opValue);
+  MachineCodeForInstruction &MCFI = MachineCodeForInstruction::get(vmInstr);
+  MCFI.addTemp(tmpReg);
   
   target.getInstrInfo().CreateCodeToLoadConst(opValue, tmpReg,
                                               loadConstVec, tempVec);
   
   // Register the new tmp values created for this m/c instruction sequence
   for (unsigned i=0; i < tempVec.size(); i++)
-    vmInstr->getMachineInstrVec().addTempValue(tempVec[i]);
+    MCFI.addTemp(tempVec[i]);
   
   // Record the mapping from the tmp VM instruction to machine instruction.
   // Do this for all machine instructions that were not mapped to any