aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/X86PadShortFunction.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2015-02-02 17:38:43 +0000
committerEric Christopher <echristo@gmail.com>2015-02-02 17:38:43 +0000
commit05b819718cdf879e912b67ac8e13c13e43f7b4ee (patch)
treee70f83937d48bb6443b643472cf42d1d91c15a3a /llvm/lib/Target/X86/X86PadShortFunction.cpp
parentc22f83a59095b32bd1ec6e878e1a09dd30c861e3 (diff)
downloadllvm-05b819718cdf879e912b67ac8e13c13e43f7b4ee.zip
llvm-05b819718cdf879e912b67ac8e13c13e43f7b4ee.tar.gz
llvm-05b819718cdf879e912b67ac8e13c13e43f7b4ee.tar.bz2
Reuse a bunch of cached subtargets and remove getSubtarget calls
without a Function argument. llvm-svn: 227814
Diffstat (limited to 'llvm/lib/Target/X86/X86PadShortFunction.cpp')
-rw-r--r--llvm/lib/Target/X86/X86PadShortFunction.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/X86PadShortFunction.cpp b/llvm/lib/Target/X86/X86PadShortFunction.cpp
index adc05b2..8d9c343 100644
--- a/llvm/lib/Target/X86/X86PadShortFunction.cpp
+++ b/llvm/lib/Target/X86/X86PadShortFunction.cpp
@@ -51,7 +51,7 @@ namespace {
struct PadShortFunc : public MachineFunctionPass {
static char ID;
PadShortFunc() : MachineFunctionPass(ID)
- , Threshold(4), TM(nullptr), TII(nullptr) {}
+ , Threshold(4), STI(nullptr), TII(nullptr) {}
bool runOnMachineFunction(MachineFunction &MF) override;
@@ -79,7 +79,7 @@ namespace {
// VisitedBBs - Cache of previously visited BBs.
DenseMap<MachineBasicBlock*, VisitedBBInfo> VisitedBBs;
- const TargetMachine *TM;
+ const X86Subtarget *STI;
const TargetInstrInfo *TII;
};
@@ -101,11 +101,11 @@ bool PadShortFunc::runOnMachineFunction(MachineFunction &MF) {
return false;
}
- TM = &MF.getTarget();
- if (!TM->getSubtarget<X86Subtarget>().padShortFunctions())
+ STI = &MF.getSubtarget<X86Subtarget>();
+ if (!STI->padShortFunctions())
return false;
- TII = TM->getSubtargetImpl()->getInstrInfo();
+ TII = STI->getInstrInfo();
// Search through basic blocks and mark the ones that have early returns
ReturnBBs.clear();
@@ -195,8 +195,7 @@ bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
return true;
}
- CyclesToEnd += TII->getInstrLatency(
- TM->getSubtargetImpl()->getInstrItineraryData(), MI);
+ CyclesToEnd += TII->getInstrLatency(STI->getInstrItineraryData(), MI);
}
VisitedBBs[MBB] = VisitedBBInfo(false, CyclesToEnd);