Remove uses of getSubtargetImpl from ResourcePriorityQueue and
authorEric Christopher <echristo@gmail.com>
Thu, 9 Oct 2014 01:59:31 +0000 (01:59 +0000)
committerEric Christopher <echristo@gmail.com>
Thu, 9 Oct 2014 01:59:31 +0000 (01:59 +0000)
replace them with calls off of the MachineFuncton.

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

lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp

index c59a3005523e77809fc2c2a524c40248601493aa..5038d522b74c01087c00233a73872ded882c7b12 100644 (file)
@@ -42,14 +42,12 @@ static cl::opt<signed> RegPressureThreshold(
   cl::desc("Track reg pressure and switch priority to in-depth"));
 
 ResourcePriorityQueue::ResourcePriorityQueue(SelectionDAGISel *IS)
-    : Picker(this), InstrItins(IS->TLI->getTargetMachine()
-                                   .getSubtargetImpl()
-                                   ->getInstrItineraryData()) {
-  const TargetMachine &TM = (*IS->MF).getTarget();
-  TRI = TM.getSubtargetImpl()->getRegisterInfo();
+    : Picker(this), InstrItins(IS->MF->getSubtarget().getInstrItineraryData()) {
+  const TargetSubtargetInfo &STI = IS->MF->getSubtarget();
+  TRI = STI.getRegisterInfo();
   TLI = IS->TLI;
-  TII = TM.getSubtargetImpl()->getInstrInfo();
-  ResourcesModel = TII->CreateTargetScheduleState(&TM, nullptr);
+  TII = STI.getInstrInfo();
+  ResourcesModel = TII->CreateTargetScheduleState(&IS->MF->getTarget(), nullptr);
   // This hard requirement could be relaxed, but for now
   // do not let it procede.
   assert(ResourcesModel && "Unimplemented CreateTargetScheduleState.");