Remove uses of getSubtargetImpl from ResourcePriorityQueue and

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
This commit is contained in:
Eric Christopher
2014-10-09 01:59:31 +00:00
parent b78fd035a2
commit 939dd38a09

View File

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