LLVM 20.0.0git
|
Store the state used by GenericScheduler heuristics, required for the lifetime of one invocation of pickNode(). More...
#include "llvm/CodeGen/MachineScheduler.h"
Public Member Functions | |
SchedCandidate () | |
SchedCandidate (const CandPolicy &Policy) | |
void | reset (const CandPolicy &NewPolicy) |
bool | isValid () const |
void | setBest (SchedCandidate &Best) |
void | initResourceDelta (const ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel) |
Public Attributes | |
CandPolicy | Policy |
SUnit * | SU |
CandReason | Reason |
bool | AtTop |
RegPressureDelta | RPDelta |
SchedResourceDelta | ResDelta |
Store the state used by GenericScheduler heuristics, required for the lifetime of one invocation of pickNode().
Definition at line 1119 of file MachineScheduler.h.
|
inline |
Definition at line 1137 of file MachineScheduler.h.
References reset().
|
inline |
Definition at line 1138 of file MachineScheduler.h.
void GenericSchedulerBase::SchedCandidate::initResourceDelta | ( | const ScheduleDAGMI * | DAG, |
const TargetSchedModel * | SchedModel | ||
) |
Definition at line 2972 of file MachineScheduler.cpp.
References llvm::GenericSchedulerBase::SchedResourceDelta::CritResources, llvm::GenericSchedulerBase::SchedResourceDelta::DemandedResources, llvm::GenericSchedulerBase::CandPolicy::DemandResIdx, llvm::ScheduleDAGInstrs::getSchedClass(), llvm::TargetSchedModel::getWriteProcResBegin(), llvm::TargetSchedModel::getWriteProcResEnd(), Policy, llvm::GenericSchedulerBase::CandPolicy::ReduceResIdx, ResDelta, llvm::GenericSchedulerBase::SchedModel, and SU.
Referenced by llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), llvm::PostGenericScheduler::pickNodeFromQueue(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), and llvm::PPCPreRASchedStrategy::tryCandidate().
|
inline |
Definition at line 1149 of file MachineScheduler.h.
References SU.
Referenced by llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::PostGenericScheduler::tryCandidate(), llvm::AArch64PostRASchedStrategy::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), and llvm::PPCPreRASchedStrategy::tryCandidate().
|
inline |
Definition at line 1140 of file MachineScheduler.h.
References AtTop, llvm::GenericSchedulerBase::NoCand, Policy, Reason, ResDelta, RPDelta, and SU.
Referenced by llvm::GCNSchedStrategy::pickNode(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeBidirectional(), and SchedCandidate().
|
inline |
Definition at line 1152 of file MachineScheduler.h.
References assert(), AtTop, llvm::GenericSchedulerBase::NoCand, Reason, ResDelta, RPDelta, and SU.
Referenced by llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), and llvm::PostGenericScheduler::pickNodeFromQueue().
bool llvm::GenericSchedulerBase::SchedCandidate::AtTop |
Definition at line 1129 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::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), and llvm::tryPressure().
CandPolicy llvm::GenericSchedulerBase::SchedCandidate::Policy |
Definition at line 1120 of file MachineScheduler.h.
Referenced by initResourceDelta(), llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeFromQueue(), reset(), SchedCandidate(), llvm::GenericSchedulerBase::traceCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), and llvm::PPCPreRASchedStrategy::tryCandidate().
CandReason llvm::GenericSchedulerBase::SchedCandidate::Reason |
Definition at line 1126 of file MachineScheduler.h.
Referenced by llvm::PPCPostRASchedStrategy::biasAddiCandidate(), llvm::GCNSchedStrategy::pickNode(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeFromQueue(), reset(), setBest(), llvm::GenericSchedulerBase::traceCandidate(), tracePick(), llvm::PostGenericScheduler::tryCandidate(), llvm::AArch64PostRASchedStrategy::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), llvm::tryGreater(), and llvm::tryLess().
SchedResourceDelta llvm::GenericSchedulerBase::SchedCandidate::ResDelta |
Definition at line 1135 of file MachineScheduler.h.
Referenced by initResourceDelta(), llvm::GCNSchedStrategy::pickNodeFromQueue(), llvm::GenericScheduler::pickNodeFromQueue(), reset(), setBest(), llvm::PostGenericScheduler::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), and llvm::PPCPreRASchedStrategy::tryCandidate().
RegPressureDelta llvm::GenericSchedulerBase::SchedCandidate::RPDelta |
Definition at line 1132 of file MachineScheduler.h.
Referenced by llvm::GCNSchedStrategy::initCandidate(), llvm::GenericScheduler::initCandidate(), reset(), setBest(), llvm::GenericSchedulerBase::traceCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), and llvm::PPCPreRASchedStrategy::tryCandidate().
SUnit* llvm::GenericSchedulerBase::SchedCandidate::SU |
Definition at line 1123 of file MachineScheduler.h.
Referenced by llvm::GCNSchedStrategy::initCandidate(), llvm::GenericScheduler::initCandidate(), initResourceDelta(), isADDIInstr(), isValid(), llvm::GCNSchedStrategy::pickNode(), llvm::GenericScheduler::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeBidirectional(), llvm::GCNSchedStrategy::pickNodeBidirectional(), llvm::PostGenericScheduler::pickNodeFromQueue(), llvm::GenericScheduler::releaseBottomNode(), llvm::PostGenericScheduler::releaseBottomNode(), llvm::GenericScheduler::releaseTopNode(), llvm::PostGenericScheduler::releaseTopNode(), reset(), setBest(), llvm::GenericSchedulerBase::traceCandidate(), llvm::PostGenericScheduler::tryCandidate(), llvm::AArch64PostRASchedStrategy::tryCandidate(), llvm::PPCPostRASchedStrategy::tryCandidate(), llvm::GenericScheduler::tryCandidate(), llvm::GCNMaxILPSchedStrategy::tryCandidate(), llvm::PPCPreRASchedStrategy::tryCandidate(), and llvm::tryLatency().