class GenericSchedulerBase
Declaration
class GenericSchedulerBase : public MachineSchedStrategy { /* full declaration omitted */ };
Description
Base class for GenericScheduler. This class maintains information about scheduling candidates based on TargetSchedModel making it easy to implement heuristics for either preRA or postRA scheduling.
Declared at: llvm/include/llvm/CodeGen/MachineScheduler.h:794
Inherits from: MachineSchedStrategy
Member Variables
- protected const llvm::MachineSchedContext* Context
- protected const llvm::TargetSchedModel* SchedModel = nullptr
- protected const llvm::TargetRegisterInfo* TRI = nullptr
- protected llvm::SchedRemainder Rem
Method Overview
- protected GenericSchedulerBase(const llvm::MachineSchedContext * C)
- public static const char * getReasonStr(GenericSchedulerBase::CandReason Reason)
- protected void setPolicy(llvm::GenericSchedulerBase::CandPolicy & Policy, bool IsPostRA, llvm::SchedBoundary & CurrZone, llvm::SchedBoundary * OtherZone)
- protected void traceCandidate(const llvm::GenericSchedulerBase::SchedCandidate & Cand)
Inherited from MachineSchedStrategy:
- public doMBBSchedRegionsTopDown
- public dumpPolicy
- public enterMBB
- public initPolicy
- public initialize
- public leaveMBB
- public pickNode
- public registerRoots
- public releaseBottomNode
- public releaseTopNode
- public schedNode
- public scheduleTree
- public shouldTrackLaneMasks
- public shouldTrackPressure
Methods
¶GenericSchedulerBase(
const llvm::MachineSchedContext* C)
GenericSchedulerBase(
const llvm::MachineSchedContext* C)
Declared at: llvm/include/llvm/CodeGen/MachineScheduler.h:899
Parameters
- const llvm::MachineSchedContext* C
¶static const char* getReasonStr(
GenericSchedulerBase::CandReason Reason)
static const char* getReasonStr(
GenericSchedulerBase::CandReason Reason)
Declared at: llvm/include/llvm/CodeGen/MachineScheduler.h:804
Parameters
- GenericSchedulerBase::CandReason Reason
¶void setPolicy(
llvm::GenericSchedulerBase::CandPolicy&
Policy,
bool IsPostRA,
llvm::SchedBoundary& CurrZone,
llvm::SchedBoundary* OtherZone)
void setPolicy(
llvm::GenericSchedulerBase::CandPolicy&
Policy,
bool IsPostRA,
llvm::SchedBoundary& CurrZone,
llvm::SchedBoundary* OtherZone)
Declared at: llvm/include/llvm/CodeGen/MachineScheduler.h:901
Parameters
- llvm::GenericSchedulerBase::CandPolicy& Policy
- bool IsPostRA
- llvm::SchedBoundary& CurrZone
- llvm::SchedBoundary* OtherZone
¶void traceCandidate(
const llvm::GenericSchedulerBase::
SchedCandidate& Cand)
void traceCandidate(
const llvm::GenericSchedulerBase::
SchedCandidate& Cand)
Declared at: llvm/include/llvm/CodeGen/MachineScheduler.h:905
Parameters
- const llvm::GenericSchedulerBase::SchedCandidate& Cand