Skip to content

Commit 0d7df36

Browse files
committed
[TargetSchedule] shrink interface for init(); NFCI
The TargetSchedModel is always initialized using the TargetSubtargetInfo's MCSchedModel and TargetInstrInfo, so we don't need to extract those and pass 3 parameters to init(). Differential Revision: https://reviews.llvm.org/D44789 llvm-svn: 329540
1 parent b7baa35 commit 0d7df36

12 files changed

+16
-19
lines changed

llvm/include/llvm/CodeGen/TargetSchedule.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ class TargetSchedModel {
5050
/// The machine model API keeps a copy of the top-level MCSchedModel table
5151
/// indices and may query TargetSubtargetInfo and TargetInstrInfo to resolve
5252
/// dynamic properties.
53-
void init(const MCSchedModel &sm, const TargetSubtargetInfo *sti,
54-
const TargetInstrInfo *tii);
53+
void init(const TargetSubtargetInfo *TSInfo);
5554

5655
/// Return the MCSchedClassDesc for this instruction.
5756
const MCSchedClassDesc *resolveSchedClass(const MachineInstr *MI) const;

llvm/lib/CodeGen/IfConversion.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ bool IfConverter::runOnMachineFunction(MachineFunction &MF) {
347347
BranchFolder::MBFIWrapper MBFI(getAnalysis<MachineBlockFrequencyInfo>());
348348
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
349349
MRI = &MF.getRegInfo();
350-
SchedModel.init(ST.getSchedModel(), &ST, TII);
350+
SchedModel.init(&ST);
351351

352352
if (!TII) return false;
353353

llvm/lib/CodeGen/MachineCombiner.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ bool MachineCombiner::runOnMachineFunction(MachineFunction &MF) {
633633
TII = STI->getInstrInfo();
634634
TRI = STI->getRegisterInfo();
635635
SchedModel = STI->getSchedModel();
636-
TSchedModel.init(SchedModel, STI, TII);
636+
TSchedModel.init(STI);
637637
MRI = &MF.getRegInfo();
638638
MLI = &getAnalysis<MachineLoopInfo>();
639639
Traces = &getAnalysis<MachineTraceMetrics>();

llvm/lib/CodeGen/MachineLICM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ bool MachineLICMBase::runOnMachineFunction(MachineFunction &MF) {
314314
TRI = ST.getRegisterInfo();
315315
MFI = &MF.getFrameInfo();
316316
MRI = &MF.getRegInfo();
317-
SchedModel.init(ST.getSchedModel(), &ST, TII);
317+
SchedModel.init(&ST);
318318

319319
PreRegAlloc = MRI->isSSA();
320320

llvm/lib/CodeGen/MachineTraceMetrics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ bool MachineTraceMetrics::runOnMachineFunction(MachineFunction &Func) {
7070
TRI = ST.getRegisterInfo();
7171
MRI = &MF->getRegInfo();
7272
Loops = &getAnalysis<MachineLoopInfo>();
73-
SchedModel.init(ST.getSchedModel(), &ST, TII);
73+
SchedModel.init(&ST);
7474
BlockInfo.resize(MF->getNumBlockIDs());
7575
ProcResourceCycles.resize(MF->getNumBlockIDs() *
7676
SchedModel.getNumProcResourceKinds());

llvm/lib/CodeGen/ScheduleDAGInstrs.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ ScheduleDAGInstrs::ScheduleDAGInstrs(MachineFunction &mf,
118118
DbgValues.clear();
119119

120120
const TargetSubtargetInfo &ST = mf.getSubtarget();
121-
SchedModel.init(ST.getSchedModel(), &ST, TII);
121+
SchedModel.init(&ST);
122122
}
123123

124124
/// If this machine instr has memory reference information and it can be

llvm/lib/CodeGen/TargetSchedule.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,10 @@ static unsigned lcm(unsigned A, unsigned B) {
6161
return LCM;
6262
}
6363

64-
void TargetSchedModel::init(const MCSchedModel &sm,
65-
const TargetSubtargetInfo *sti,
66-
const TargetInstrInfo *tii) {
67-
SchedModel = sm;
68-
STI = sti;
69-
TII = tii;
64+
void TargetSchedModel::init(const TargetSubtargetInfo *TSInfo) {
65+
STI = TSInfo;
66+
SchedModel = TSInfo->getSchedModel();
67+
TII = TSInfo->getInstrInfo();
7068
STI->initInstrItins(InstrItins);
7169

7270
unsigned NumRes = SchedModel.getNumProcResourceKinds();

llvm/lib/CodeGen/TargetSubtargetInfo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ std::string TargetSubtargetInfo::getSchedInfoStr(const MachineInstr &MI) const {
8888
// We don't cache TSchedModel because it depends on TargetInstrInfo
8989
// that could be changed during the compilation
9090
TargetSchedModel TSchedModel;
91-
TSchedModel.init(getSchedModel(), this, getInstrInfo());
91+
TSchedModel.init(this);
9292
unsigned Latency = TSchedModel.computeInstrLatency(&MI);
9393
Optional<double> RThroughput = TSchedModel.computeInstrRThroughput(&MI);
9494
return createSchedInfoStr(Latency, RThroughput);
@@ -99,7 +99,7 @@ std::string TargetSubtargetInfo::getSchedInfoStr(MCInst const &MCI) const {
9999
// We don't cache TSchedModel because it depends on TargetInstrInfo
100100
// that could be changed during the compilation
101101
TargetSchedModel TSchedModel;
102-
TSchedModel.init(getSchedModel(), this, getInstrInfo());
102+
TSchedModel.init(this);
103103
unsigned Latency;
104104
if (TSchedModel.hasInstrSchedModel())
105105
Latency = TSchedModel.computeInstrLatency(MCI.getOpcode());

llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ bool AArch64SIMDInstrOpt::runOnMachineFunction(MachineFunction &MF) {
700700
static_cast<const AArch64InstrInfo *>(ST.getInstrInfo());
701701
if (!AAII)
702702
return false;
703-
SchedModel.init(ST.getSchedModel(), &ST, AAII);
703+
SchedModel.init(&ST);
704704
if (!SchedModel.hasInstrSchedModel())
705705
return false;
706706

llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ bool AArch64StorePairSuppress::runOnMachineFunction(MachineFunction &MF) {
127127
TII = static_cast<const AArch64InstrInfo *>(ST.getInstrInfo());
128128
TRI = ST.getRegisterInfo();
129129
MRI = &MF.getRegInfo();
130-
SchedModel.init(ST.getSchedModel(), &ST, TII);
130+
SchedModel.init(&ST);
131131
Traces = &getAnalysis<MachineTraceMetrics>();
132132
MinInstr = nullptr;
133133

0 commit comments

Comments
 (0)