Use the cached subtargets and remove calls to getSubtarget/getSubtargetImpl
without a Function argument.
llvm-svn: 227622
diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp b/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
index 2492229..13ec79e 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
@@ -85,11 +85,11 @@
/// CreateTargetPostRAHazardRecognizer - Return the postRA hazard recognizer
/// to use for this target when scheduling the DAG.
-ScheduleHazardRecognizer *PPCInstrInfo::CreateTargetPostRAHazardRecognizer(
- const InstrItineraryData *II,
- const ScheduleDAG *DAG) const {
+ScheduleHazardRecognizer *
+PPCInstrInfo::CreateTargetPostRAHazardRecognizer(const InstrItineraryData *II,
+ const ScheduleDAG *DAG) const {
unsigned Directive =
- DAG->TM.getSubtarget<PPCSubtarget>().getDarwinDirective();
+ DAG->MF.getSubtarget<PPCSubtarget>().getDarwinDirective();
if (Directive == PPC::DIR_PWR7 || Directive == PPC::DIR_PWR8)
return new PPCDispatchGroupSBHazardRecognizer(II, DAG);
@@ -1622,8 +1622,6 @@
}
LiveIntervals *LIS;
-
- const PPCTargetMachine *TM;
const PPCInstrInfo *TII;
protected:
@@ -1851,15 +1849,15 @@
public:
bool runOnMachineFunction(MachineFunction &MF) override {
- TM = static_cast<const PPCTargetMachine *>(&MF.getTarget());
// If we don't have VSX then go ahead and return without doing
// anything.
- if (!TM->getSubtargetImpl()->hasVSX())
+ const PPCSubtarget &STI = MF.getSubtarget<PPCSubtarget>();
+ if (!STI.hasVSX())
return false;
LIS = &getAnalysis<LiveIntervals>();
- TII = TM->getSubtargetImpl()->getInstrInfo();
+ TII = STI.getInstrInfo();
bool Changed = false;
@@ -1915,8 +1913,7 @@
initializePPCVSXCopyPass(*PassRegistry::getPassRegistry());
}
- const PPCTargetMachine *TM;
- const PPCInstrInfo *TII;
+ const TargetInstrInfo *TII;
bool IsRegInClass(unsigned Reg, const TargetRegisterClass *RC,
MachineRegisterInfo &MRI) {
@@ -2008,11 +2005,11 @@
public:
bool runOnMachineFunction(MachineFunction &MF) override {
- TM = static_cast<const PPCTargetMachine *>(&MF.getTarget());
// If we don't have VSX on the subtarget, don't do anything.
- if (!TM->getSubtargetImpl()->hasVSX())
+ const PPCSubtarget &STI = MF.getSubtarget<PPCSubtarget>();
+ if (!STI.hasVSX())
return false;
- TII = TM->getSubtargetImpl()->getInstrInfo();
+ TII = STI.getInstrInfo();
bool Changed = false;
@@ -2055,8 +2052,7 @@
initializePPCVSXCopyCleanupPass(*PassRegistry::getPassRegistry());
}
- const PPCTargetMachine *TM;
- const PPCInstrInfo *TII;
+ const TargetInstrInfo *TII;
protected:
bool processBlock(MachineBasicBlock &MBB) {
@@ -2085,11 +2081,11 @@
public:
bool runOnMachineFunction(MachineFunction &MF) override {
- TM = static_cast<const PPCTargetMachine *>(&MF.getTarget());
// If we don't have VSX don't bother doing anything here.
- if (!TM->getSubtargetImpl()->hasVSX())
+ const PPCSubtarget &STI = MF.getSubtarget<PPCSubtarget>();
+ if (!STI.hasVSX())
return false;
- TII = TM->getSubtargetImpl()->getInstrInfo();
+ TII = STI.getInstrInfo();
bool Changed = false;
@@ -2134,8 +2130,7 @@
initializePPCEarlyReturnPass(*PassRegistry::getPassRegistry());
}
- const PPCTargetMachine *TM;
- const PPCInstrInfo *TII;
+ const TargetInstrInfo *TII;
protected:
bool processBlock(MachineBasicBlock &ReturnMBB) {
@@ -2246,8 +2241,7 @@
public:
bool runOnMachineFunction(MachineFunction &MF) override {
- TM = static_cast<const PPCTargetMachine *>(&MF.getTarget());
- TII = TM->getSubtargetImpl()->getInstrInfo();
+ TII = MF.getSubtarget().getInstrInfo();
bool Changed = false;