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: