Don't cache the instruction and register info from the TargetMachine, because
authorBill Wendling <isanbard@gmail.com>
Fri, 7 Jun 2013 06:26:43 +0000 (06:26 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 7 Jun 2013 06:26:43 +0000 (06:26 +0000)
the internals of TargetMachine could change.

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

lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
lib/Target/MBlaze/MBlazeInstrInfo.cpp
lib/Target/MBlaze/MBlazeRegisterInfo.cpp
lib/Target/MBlaze/MBlazeRegisterInfo.h

index 3d0d1cecd1f1e807c5050a8b163c7dc42973271a..1d18cc454bc93c4b4467d847a3ee7ea69804e8d7 100644 (file)
@@ -37,13 +37,11 @@ static cl::opt<bool> MBDisableDelaySlotFiller(
 
 namespace {
   struct Filler : public MachineFunctionPass {
-
     TargetMachine &TM;
-    const TargetInstrInfo *TII;
 
     static char ID;
     Filler(TargetMachine &tm)
-      : MachineFunctionPass(ID), TM(tm), TII(tm.getInstrInfo()) { }
+      : MachineFunctionPass(ID), TM(tm) { }
 
     virtual const char *getPassName() const {
       return "MBlaze Delay Slot Filler";
@@ -239,7 +237,7 @@ bool Filler::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
       Changed = true;
 
       if (D == MBB.end())
-        BuildMI(MBB, ++J, I->getDebugLoc(), TII->get(MBlaze::NOP));
+        BuildMI(MBB, ++J, I->getDebugLoc(),TM.getInstrInfo()->get(MBlaze::NOP));
       else
         MBB.splice(++J, &MBB, D);
     }
index 79449f73f74eccb503bbf6909351f5df1d0f8802..ab069e6716a53a9382031da314d9254ce646efe6 100644 (file)
@@ -29,7 +29,7 @@ using namespace llvm;
 
 MBlazeInstrInfo::MBlazeInstrInfo(MBlazeTargetMachine &tm)
   : MBlazeGenInstrInfo(MBlaze::ADJCALLSTACKDOWN, MBlaze::ADJCALLSTACKUP),
-    TM(tm), RI(*TM.getSubtargetImpl(), *this) {}
+    TM(tm), RI(*TM.getSubtargetImpl()) {}
 
 static bool isZeroImm(const MachineOperand &op) {
   return op.isImm() && op.getImm() == 0;
index bd83afc1cc837c0482b3be5d5391749dddd02681..72fb8c62aff32210aef98d463eeed966972fd862 100644 (file)
@@ -42,8 +42,8 @@
 using namespace llvm;
 
 MBlazeRegisterInfo::
-MBlazeRegisterInfo(const MBlazeSubtarget &ST, const TargetInstrInfo &tii)
-  : MBlazeGenRegisterInfo(MBlaze::R15), Subtarget(ST), TII(tii) {}
+MBlazeRegisterInfo(const MBlazeSubtarget &ST)
+  : MBlazeGenRegisterInfo(MBlaze::R15), Subtarget(ST) {}
 
 unsigned MBlazeRegisterInfo::getPICCallReg() {
   return MBlaze::R20;
index 497f3866c9cad3e99b7a8499249abdd5e887df3d..b463478a90e35e3e51c9388ce9c4a8bc5c087e00 100644 (file)
@@ -37,10 +37,8 @@ namespace MBlaze {
 
 struct MBlazeRegisterInfo : public MBlazeGenRegisterInfo {
   const MBlazeSubtarget &Subtarget;
-  const TargetInstrInfo &TII;
 
-  MBlazeRegisterInfo(const MBlazeSubtarget &Subtarget,
-                     const TargetInstrInfo &tii);
+  MBlazeRegisterInfo(const MBlazeSubtarget &Subtarget);
 
   /// Get PIC indirect call register
   static unsigned getPICCallReg();