Home
last modified time | relevance | path

Searched refs:SchedModel (Results 1 – 25 of 105) sorted by relevance

12345

/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DTargetSchedule.cpp40 return EnableSchedModel && SchedModel.hasInstrSchedModel(); in hasInstrSchedModel()
49 SchedModel = TSInfo->getSchedModel(); in init()
53 unsigned NumRes = SchedModel.getNumProcResourceKinds(); in init()
55 ResourceLCM = SchedModel.IssueWidth; in init()
57 unsigned NumUnits = SchedModel.getProcResource(Idx)->NumUnits; in init()
61 MicroOpFactor = ResourceLCM / SchedModel.IssueWidth; in init()
63 unsigned NumUnits = SchedModel.getProcResource(Idx)->NumUnits; in init()
120 const MCSchedClassDesc *SCDesc = SchedModel.getSchedClassDesc(SchedClass); in resolveSchedClass()
131 SCDesc = SchedModel.getSchedClassDesc(SchedClass); in resolveSchedClass()
173 return TII->defaultDefLatency(SchedModel, *DefMI); in computeOperandLatency()
[all …]
H A DMachineScheduler.cpp1199 if (SchedModel.mustBeginGroup(SU.getInstr()) && in dump()
1200 SchedModel.mustEndGroup(SU.getInstr())) in dump()
2025 init(ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel) { in init() argument
2027 if (!SchedModel->hasInstrSchedModel()) in init()
2029 RemainingCounts.resize(SchedModel->getNumProcResourceKinds()); in init()
2032 RemIssueCount += SchedModel->getNumMicroOps(SU.getInstr(), SC) in init()
2033 * SchedModel->getMicroOpFactor(); in init()
2035 PI = SchedModel->getWriteProcResBegin(SC), in init()
2036 PE = SchedModel->getWriteProcResEnd(SC); PI != PE; ++PI) { in init()
2038 unsigned Factor = SchedModel->getResourceFactor(PIdx); in init()
[all …]
H A DMachineTraceMetrics.cpp72 SchedModel.init(&ST); in runOnMachineFunction()
75 SchedModel.getNumProcResourceKinds()); in runOnMachineFunction()
108 unsigned PRKinds = SchedModel.getNumProcResourceKinds(); in getResources()
119 if (!SchedModel.hasInstrSchedModel()) in getResources()
121 const MCSchedClassDesc *SC = SchedModel.resolveSchedClass(&MI); in getResources()
126 PI = SchedModel.getWriteProcResBegin(SC), in getResources()
127 PE = SchedModel.getWriteProcResEnd(SC); PI != PE; ++PI) { in getResources()
138 PRCycles[K] * SchedModel.getResourceFactor(K); in getResources()
147 unsigned PRKinds = SchedModel.getNumProcResourceKinds(); in getProcResourceCycles()
159 unsigned PRKinds = MTM.SchedModel.getNumProcResourceKinds(); in Ensemble()
[all …]
H A DVLIWMachineScheduler.cpp67 : TII(STI.getInstrInfo()), SchedModel(SM) { in VLIWResourceModel()
74 Packet.reserve(SchedModel->getIssueWidth()); in VLIWResourceModel()
156 Packet.size() >= SchedModel->getIssueWidth()) { in reserveResources()
272 SchedModel = DAG->getSchedModel(); in initialize()
274 Top.init(DAG, SchedModel); in initialize()
275 Bot.init(DAG, SchedModel); in initialize()
306 const TargetSubtargetInfo &STI, const TargetSchedModel *SchedModel) const { in createVLIWResourceModel()
307 return new VLIWResourceModel(STI, SchedModel); in createVLIWResourceModel()
365 unsigned uops = SchedModel->getNumMicroOps(SU->getInstr()); in checkHazard()
366 if (IssueCount + uops > SchedModel->getIssueWidth()) in checkHazard()
[all …]
H A DScheduleDAGInstrs.cpp123 SchedModel.init(&ST); in ScheduleDAGInstrs()
274 Dep.setLatency(SchedModel.computeOperandLatency(SU->getInstr(), OperIdx, in addPhysRegDataDeps()
318 SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr())); in addPhysRegDeps()
443 Dep.setLatency(SchedModel.computeOperandLatency(MI, OperIdx, Use, in addVRegDefDeps()
487 SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr())); in addVRegDefDeps()
581 SU->Latency = SchedModel.computeInstrLatency(SU->getInstr()); in initSUnits()
591 if (SchedModel.hasInstrSchedModel()) { in initSUnits()
594 make_range(SchedModel.getWriteProcResBegin(SC), in initSUnits()
595 SchedModel.getWriteProcResEnd(SC))) { in initSUnits()
596 switch (SchedModel.getProcResource(PRE.ProcResourceIdx)->BufferSize) { in initSUnits()
H A DEarlyIfConversion.cpp765 MCSchedModel SchedModel; member in __anon3786be1d0311::EarlyIfConverter
886 unsigned CritLimit = SchedModel.MispredictPenalty/2; in shouldConvertIf()
1060 SchedModel = STI.getSchedModel(); in runOnMachineFunction()
1089 TargetSchedModel SchedModel; member in __anon3786be1d0911::EarlyIfPredicator
1141 unsigned NumCycles = SchedModel.computeInstrLatency(&I, false); in shouldConvertIf()
1155 unsigned NumCycles = SchedModel.computeInstrLatency(&I, false); in shouldConvertIf()
1161 unsigned NumCycles = SchedModel.computeInstrLatency(&I, false); in shouldConvertIf()
1195 SchedModel.init(&STI); in runOnMachineFunction()
/openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/
H A DTargetSchedule.h33 MCSchedModel SchedModel; variable
49 TargetSchedModel() : SchedModel(MCSchedModel::GetDefaultSchedModel()) {} in TargetSchedModel()
74 const MCSchedModel *getMCSchedModel() const { return &SchedModel; } in getMCSchedModel()
95 unsigned getProcessorID() const { return SchedModel.getProcessorID(); } in getProcessorID()
98 unsigned getIssueWidth() const { return SchedModel.IssueWidth; } in getIssueWidth()
113 return SchedModel.getNumProcResourceKinds(); in getNumProcResourceKinds()
118 return SchedModel.getProcResource(PIdx); in getProcResource()
125 return SchedModel.getProcResource(PIdx)->Name; in getResourceName()
160 unsigned getMicroOpBufferSize() const { return SchedModel.MicroOpBufferSize; } in getMicroOpBufferSize()
165 return SchedModel.getProcResource(PIdx)->BufferSize; in getResourceBufferSize()
H A DVLIWMachineScheduler.h40 const TargetSchedModel *SchedModel; variable
128 const TargetSchedModel *SchedModel = nullptr; member
157 SchedModel = smodel; in init()
165 CriticalPathLength = DAG->getBBSize() / SchedModel->getIssueWidth(); in init()
208 const TargetSchedModel *SchedModel = nullptr; variable
242 const TargetSchedModel *SchedModel) const;
H A DScheduleDAGInstrs.h126 TargetSchedModel SchedModel; variable
263 const TargetSchedModel *getSchedModel() const { return &SchedModel; } in getSchedModel()
267 if (!SU->SchedClass && SchedModel.hasInstrSchedModel()) in getSchedClass()
268 SU->SchedClass = SchedModel.resolveSchedClass(SU->getInstr()); in getSchedClass()
H A DMachineScheduler.h605 void init(ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel);
621 const TargetSchedModel *SchedModel = nullptr; variable
762 return RetiredMOps * SchedModel->getMicroOpFactor(); in getCriticalCount()
770 return std::max(CurrCycle * SchedModel->getLatencyFactor(), in getExecutedCount()
791 return SchedModel->getProcResource(PIdx)->SubUnitsIdxBegin && in isUnbufferedGroup()
792 !SchedModel->getProcResource(PIdx)->BufferSize; in isUnbufferedGroup()
933 const TargetSchedModel *SchedModel);
938 const TargetSchedModel *SchedModel = nullptr; variable
H A DMachineTraceMetrics.h92 TargetSchedModel SchedModel; variable
415 unsigned Factor = SchedModel.getLatencyFactor(); in getCycles()
/openbsd-src/gnu/llvm/llvm/lib/Target/SystemZ/
H A DSystemZHazardRecognizer.cpp152 for (unsigned i = 0; i < SchedModel->getNumProcResourceKinds(); ++i) in nextGroup()
176 PI = SchedModel->getWriteProcResBegin(SC), in dumpSU()
177 PE = SchedModel->getWriteProcResEnd(SC); PI != PE; ++PI) { in dumpSU()
179 *SchedModel->getProcResource(PI->ProcResourceIdx); in dumpSU()
226 for (unsigned i = 0; i < SchedModel->getNumProcResourceKinds(); ++i) in dumpProcResourceCounters()
236 for (unsigned i = 0; i < SchedModel->getNumProcResourceKinds(); ++i) in dumpProcResourceCounters()
238 dbgs() << SchedModel->getProcResource(i)->Name in dumpProcResourceCounters()
244 << SchedModel->getProcResource(CriticalResourceIdx)->Name in dumpProcResourceCounters()
260 ProcResourceCounters.assign(SchedModel->getNumProcResourceKinds(), 0); in clearProcResCounters()
297 PI = SchedModel->getWriteProcResBegin(SC), in EmitInstruction()
[all …]
H A DSystemZHazardRecognizer.h48 const TargetSchedModel *SchedModel; variable
112 : TII(tii), SchedModel(SM) { in SystemZHazardRecognizer()
122 if (!SU->SchedClass && SchedModel->hasInstrSchedModel()) in getSchedClass()
123 SU->SchedClass = SchedModel->resolveSchedClass(SU->getInstr()); in getSchedClass()
H A DSystemZMachineScheduler.cpp88 HazardRec = SchedStates[MBB] = new SystemZHazardRecognizer(TII, &SchedModel); in enterMBB()
135 SchedModel.init(ST); in SystemZPostRASchedStrategy()
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DSISchedule.td15 static_cast<const SIInstrInfo*>(SchedModel->getInstrInfo());
188 let SchedModel = SIFullSpeedModel in {
204 } // End SchedModel = SIFullSpeedModel
206 let SchedModel = SIQuarterSpeedModel in {
226 } // End SchedModel = SIQuarterSpeedModel
228 let SchedModel = SIDPFullSpeedModel in {
250 } // End SchedModel = SIDPFullSpeedModel
252 let SchedModel = SIDPGFX940FullSpeedModel in {
284 } // End SchedModel = SIDPGFX940FullSpeedModel
286 let SchedModel = GFX10SpeedModel in {
[all …]
H A DAMDGPUInsertDelayAlu.cpp33 TargetSchedModel SchedModel; member in __anonf725af2e0111::AMDGPUInsertDelayAlu
382 unsigned Latency = SchedModel.computeOperandLatency( in runOnMachineBasicBlock()
425 SchedModel.init(&ST); in runOnMachineFunction()
/openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/
H A DAArch64StorePairSuppress.cpp34 TargetSchedModel SchedModel; member in __anon9658e73c0111::AArch64StorePairSuppress
87 SchedModel.getMCSchedModel()->getSchedClassDesc(SCIdx); in shouldAddSTPToBlock()
129 SchedModel.init(&ST); in runOnMachineFunction()
135 if (!SchedModel.hasInstrSchedModel()) { in runOnMachineFunction()
H A DAArch64SIMDInstrOpt.cpp71 TargetSchedModel SchedModel; member
222 std::string Subtarget = std::string(SchedModel.getSubtargetInfo()->getCPU()); in shouldReplaceInst()
230 SchedModel.getMCSchedModel()->getSchedClassDesc(SCIdx); in shouldReplaceInst()
242 SCDescRepl = SchedModel.getMCSchedModel()->getSchedClassDesc( in shouldReplaceInst()
254 ReplCost += SchedModel.computeInstrLatency(IDesc->getOpcode()); in shouldReplaceInst()
256 if (SchedModel.computeInstrLatency(InstDesc->getOpcode()) > ReplCost) in shouldReplaceInst()
293 std::string(SchedModel.getSubtargetInfo()->getCPU()); in shouldExitEarly()
705 SchedModel.init(&ST); in runOnMachineFunction()
706 if (!SchedModel.hasInstrSchedModel()) in runOnMachineFunction()
H A DAArch64SchedKryo.td41 let SchedModel = KryoModel in {
60 let SchedModel = KryoModel in {
141 } // SchedModel = KryoModel
/openbsd-src/gnu/llvm/llvm/include/llvm/Target/
H A DTargetSchedule.td180 // SchedModel ties these units to a processor for any stand-alone defs
187 SchedMachineModel SchedModel = ?;
202 SchedMachineModel SchedModel = ?;
240 // SchedModel silences warnings but is ignored.
244 SchedMachineModel SchedModel = ?;
249 // SchedModel ties these resources to a processor.
267 SchedMachineModel SchedModel = ?;
309 // type at the same time. This class is unaware of its SchedModel so
316 // SchedModel ties these resources to a processor.
323 SchedMachineModel SchedModel = ?;
[all …]
/openbsd-src/gnu/llvm/llvm/include/llvm/MC/
H A DMCInstrItineraries.h111 MCSchedModel SchedModel =
122 : SchedModel(SM), Stages(S), OperandCycles(OS), Forwardings(F), in InstrItineraryData()
123 Itineraries(SchedModel.InstrItineraries) {} in InstrItineraryData()
/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonMachineScheduler.cpp41 const TargetSubtargetInfo &STI, const TargetSchedModel *SchedModel) const { in createVLIWResourceModel()
42 return new HexagonVLIWResourceModel(STI, SchedModel); in createVLIWResourceModel()
H A DHexagonMachineScheduler.h35 const TargetSchedModel *SchedModel) const override;
/openbsd-src/gnu/llvm/llvm/lib/MC/
H A DMCSubtargetInfo.cpp324 assert(CPUEntry->SchedModel && "Missing processor SchedModel value"); in getSchedModelForCPU()
325 return *CPUEntry->SchedModel; in getSchedModelForCPU()
330 const MCSchedModel &SchedModel = getSchedModelForCPU(CPU); in getInstrItineraryForCPU() local
331 return InstrItineraryData(SchedModel, Stages, OperandCycles, ForwardingPaths); in getInstrItineraryForCPU()
/openbsd-src/gnu/llvm/llvm/tools/llvm-exegesis/lib/
H A DSchedClassResolution.cpp274 const auto &SchedModel = STI.getSchedModel(); in findProcResIdx() local
275 for (int I = 0, E = SchedModel.getNumProcResourceKinds(); I < E; ++I) { in findProcResIdx()
276 if (NameOrId == SchedModel.getProcResource(I)->Name) in findProcResIdx()

12345