Give RegAllocSimple a TargetInstrInfo member to keep it consistent
authorDan Gohman <gohman@apple.com>
Wed, 9 Jul 2008 19:56:01 +0000 (19:56 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 9 Jul 2008 19:56:01 +0000 (19:56 +0000)
with RegAllocLocal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53347 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocSimple.cpp

index f07f7f92be84a2e7ea16089b9131b86b72376bc1..ce4b42071a7d0fb458c3ed2517f911967fadd633 100644 (file)
@@ -46,6 +46,7 @@ namespace {
     MachineFunction *MF;
     const TargetMachine *TM;
     const TargetRegisterInfo *TRI;
+    const TargetInstrInfo *TII;
 
     // StackSlotForVirtReg - Maps SSA Regs => frame index on the stack where
     // these values are spilled
@@ -144,7 +145,6 @@ unsigned RegAllocSimple::reloadVirtReg(MachineBasicBlock &MBB,
 
   // Add move instruction(s)
   ++NumLoads;
-  const TargetInstrInfo* TII = MBB.getParent()->getTarget().getInstrInfo();
   TII->loadRegFromStackSlot(MBB, I, PhysReg, FrameIdx, RC);
   return PhysReg;
 }
@@ -153,7 +153,6 @@ void RegAllocSimple::spillVirtReg(MachineBasicBlock &MBB,
                                   MachineBasicBlock::iterator I,
                                   unsigned VirtReg, unsigned PhysReg) {
   const TargetRegisterClass* RC = MF->getRegInfo().getRegClass(VirtReg);
-  const TargetInstrInfo* TII = MBB.getParent()->getTarget().getInstrInfo();
   
   int FrameIdx = getStackSpaceFor(VirtReg, RC);
 
@@ -240,6 +239,7 @@ bool RegAllocSimple::runOnMachineFunction(MachineFunction &Fn) {
   MF = &Fn;
   TM = &MF->getTarget();
   TRI = TM->getRegisterInfo();
+  TII = TM->getInstrInfo();
 
   // Loop over all of the basic blocks, eliminating virtual register references
   for (MachineFunction::iterator MBB = Fn.begin(), MBBe = Fn.end();