LLVM: llvm::GenericSchedulerBase::SchedCandidate Struct Reference (original) (raw)
Store the state used by GenericScheduler heuristics, required for the lifetime of one invocation of pickNode(). More...
#include "[llvm/CodeGen/MachineScheduler.h](MachineScheduler%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| SchedCandidate () | |
| SchedCandidate (const CandPolicy &Policy) | |
| void | reset (const CandPolicy &NewPolicy) |
| bool | isValid () const |
| void | setBest (SchedCandidate &Best) |
| LLVM_ABI void | initResourceDelta (const ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel) |
| Public Attributes | |
|---|---|
| CandPolicy | Policy |
| SUnit * | SU |
| CandReason | Reason |
| bool | AtTop |
| RegPressureDelta | RPDelta |
| SchedResourceDelta | ResDelta |
Detailed Description
Store the state used by GenericScheduler heuristics, required for the lifetime of one invocation of pickNode().
Definition at line 1157 of file MachineScheduler.h.
Constructor & Destructor Documentation
| llvm::GenericSchedulerBase::SchedCandidate::SchedCandidate ( ) | inline |
|---|
◆ SchedCandidate() [2/2]
| llvm::GenericSchedulerBase::SchedCandidate::SchedCandidate ( const CandPolicy & Policy) | inline |
|---|
Member Function Documentation
◆ initResourceDelta()
Definition at line 3237 of file MachineScheduler.cpp.
References llvm::ScheduleDAGInstrs::getSchedClass(), Policy, ResDelta, llvm::GenericSchedulerBase::SchedModel, and SU.
Referenced by llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), llvm::PostGenericScheduler::pickNodeFromQueue(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::GCNMaxMemoryClauseSchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), and llvm::GCNSchedStrategy::tryPendingCandidate().
◆ isValid()
| bool llvm::GenericSchedulerBase::SchedCandidate::isValid ( ) const | inline |
|---|
◆ reset()
| void llvm::GenericSchedulerBase::SchedCandidate::reset ( const CandPolicy & NewPolicy) | inline |
|---|
Definition at line 1178 of file MachineScheduler.h.
References AtTop, llvm::GenericSchedulerBase::NoCand, Policy, Reason, ResDelta, RPDelta, and SU.
Referenced by llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), SchedCandidate(), and SchedCandidate().
◆ setBest()
| void llvm::GenericSchedulerBase::SchedCandidate::setBest ( SchedCandidate & Best) | inline |
|---|
Definition at line 1190 of file MachineScheduler.h.
References assert(), AtTop, llvm::GenericSchedulerBase::NoCand, Reason, ResDelta, RPDelta, SchedCandidate(), and SU.
Referenced by llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), and llvm::PostGenericScheduler::pickNodeFromQueue().
Member Data Documentation
◆ AtTop
bool llvm::GenericSchedulerBase::SchedCandidate::AtTop
Definition at line 1167 of file MachineScheduler.h.
Referenced by llvm::GCNSchedStrategy::initCandidate(), llvm::GenericScheduler::initCandidate(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), llvm::PostGenericScheduler::pickNodeFromQueue(), reset(), setBest(), tracePick(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::GCNMaxMemoryClauseSchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), llvm::GCNSchedStrategy::tryPendingCandidate(), and llvm::tryPressure().
◆ Policy
CandPolicy llvm::GenericSchedulerBase::SchedCandidate::Policy
◆ Reason
CandReason llvm::GenericSchedulerBase::SchedCandidate::Reason
Definition at line 1164 of file MachineScheduler.h.
Referenced by llvm::PPCPostRASchedStrategy::biasAddiCandidate(), llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeFromQueue(), reset(), setBest(), llvm::GenericSchedulerBase::traceCandidate(), tracePick(), llvm::AArch64PostRASchedStrategy::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::GCNMaxMemoryClauseSchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), llvm::tryGreater(), llvm::tryLess(), and llvm::GCNSchedStrategy::tryPendingCandidate().
◆ ResDelta
Definition at line 1173 of file MachineScheduler.h.
Referenced by initResourceDelta(), llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), reset(), setBest(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::GCNMaxMemoryClauseSchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), and llvm::GCNSchedStrategy::tryPendingCandidate().
◆ RPDelta
◆ SU
SUnit* llvm::GenericSchedulerBase::SchedCandidate::SU
Definition at line 1161 of file MachineScheduler.h.
Referenced by llvm::GCNSchedStrategy::initCandidate(), llvm::GenericScheduler::initCandidate(), initResourceDelta(), isADDIInstr(), isValid(), llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeFromQueue(), llvm::GCNSchedStrategy::printCandidateDecision(), reset(), setBest(), llvm::GenericSchedulerBase::traceCandidate(), llvm::AArch64PostRASchedStrategy::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::GCNMaxMemoryClauseSchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), llvm::tryLatency(), and llvm::GCNSchedStrategy::tryPendingCandidate().
The documentation for this struct was generated from the following files:
- include/llvm/CodeGen/MachineScheduler.h
- lib/CodeGen/MachineScheduler.cpp