LLVM 22.0.0git
llvm::GCNSchedStage Class Reference

#include "Target/AMDGPU/GCNSchedStrategy.h"

Inheritance diagram for llvm::GCNSchedStage:
[legend]

Public Member Functions

virtual bool initGCNSchedStage ()
virtual void finalizeGCNSchedStage ()
virtual bool initGCNRegion ()
void setupNewBlock ()
void finalizeGCNRegion ()
void checkScheduling ()
ScheduleMetrics getScheduleMetrics (const std::vector< SUnit > &InputSchedule)
ScheduleMetrics getScheduleMetrics (const GCNScheduleDAGMILive &DAG)
unsigned computeSUnitReadyCycle (const SUnit &SU, unsigned CurrCycle, DenseMap< unsigned, unsigned > &ReadyCycles, const TargetSchedModel &SM)
virtual bool shouldRevertScheduling (unsigned WavesAfter)
bool isRegionWithExcessRP () const
unsigned getRegionIdx ()
bool mayCauseSpilling (unsigned WavesAfter)
void revertScheduling ()
void advanceRegion ()
virtual ~GCNSchedStage ()=default

Protected Member Functions

 GCNSchedStage (GCNSchedStageID StageID, GCNScheduleDAGMILive &DAG)

Protected Attributes

GCNScheduleDAGMILiveDAG
GCNSchedStrategyS
MachineFunctionMF
SIMachineFunctionInfoMFI
const GCNSubtargetST
const GCNSchedStageID StageID
MachineBasicBlockCurrentMBB = nullptr
unsigned RegionIdx = 0
std::vector< MachineInstr * > Unsched
GCNRegPressure PressureBefore
GCNRegPressure PressureAfter
std::vector< std::unique_ptr< ScheduleDAGMutation > > SavedMutations

Detailed Description

Definition at line 310 of file GCNSchedStrategy.h.

Constructor & Destructor Documentation

◆ GCNSchedStage()

◆ ~GCNSchedStage()

virtual llvm::GCNSchedStage::~GCNSchedStage ( )
virtualdefault

Member Function Documentation

◆ advanceRegion()

void llvm::GCNSchedStage::advanceRegion ( )
inline

Definition at line 388 of file GCNSchedStrategy.h.

References RegionIdx.

Referenced by finalizeGCNRegion().

◆ checkScheduling()

void GCNSchedStage::checkScheduling ( )

◆ computeSUnitReadyCycle()

unsigned GCNSchedStage::computeSUnitReadyCycle ( const SUnit & SU,
unsigned CurrCycle,
DenseMap< unsigned, unsigned > & ReadyCycles,
const TargetSchedModel & SM )

◆ finalizeGCNRegion()

void GCNSchedStage::finalizeGCNRegion ( )

◆ finalizeGCNSchedStage()

void GCNSchedStage::finalizeGCNSchedStage ( )
virtual

◆ getRegionIdx()

unsigned llvm::GCNSchedStage::getRegionIdx ( )
inline

Definition at line 380 of file GCNSchedStrategy.h.

References RegionIdx.

◆ getScheduleMetrics() [1/2]

◆ getScheduleMetrics() [2/2]

ScheduleMetrics GCNSchedStage::getScheduleMetrics ( const std::vector< SUnit > & InputSchedule)

◆ initGCNRegion()

◆ initGCNSchedStage()

◆ isRegionWithExcessRP()

bool llvm::GCNSchedStage::isRegionWithExcessRP ( ) const
inline

◆ mayCauseSpilling()

◆ revertScheduling()

◆ setupNewBlock()

void GCNSchedStage::setupNewBlock ( )

◆ shouldRevertScheduling()

Member Data Documentation

◆ CurrentMBB

MachineBasicBlock* llvm::GCNSchedStage::CurrentMBB = nullptr
protected

Definition at line 325 of file GCNSchedStrategy.h.

Referenced by initGCNRegion(), and setupNewBlock().

◆ DAG

◆ MF

◆ MFI

◆ PressureAfter

◆ PressureBefore

◆ RegionIdx

◆ S

◆ SavedMutations

std::vector<std::unique_ptr<ScheduleDAGMutation> > llvm::GCNSchedStage::SavedMutations
protected

◆ ST

◆ StageID

◆ Unsched

std::vector<MachineInstr *> llvm::GCNSchedStage::Unsched
protected

Definition at line 331 of file GCNSchedStrategy.h.

Referenced by initGCNRegion(), and revertScheduling().


The documentation for this class was generated from the following files: