LLVM 19.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::GCNSchedStage Class Reference

#include "Target/AMDGPU/GCNSchedStrategy.h"

Inheritance diagram for llvm::GCNSchedStage:
Inheritance graph
[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
 
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 245 of file GCNSchedStrategy.h.

Constructor & Destructor Documentation

◆ GCNSchedStage()

GCNSchedStage::GCNSchedStage ( GCNSchedStageID  StageID,
GCNScheduleDAGMILive DAG 
)
protected

Definition at line 693 of file GCNSchedStrategy.cpp.

◆ ~GCNSchedStage()

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

Member Function Documentation

◆ advanceRegion()

void llvm::GCNSchedStage::advanceRegion ( )
inline

Definition at line 320 of file GCNSchedStrategy.h.

References RegionIdx.

◆ 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

◆ getScheduleMetrics() [1/2]

ScheduleMetrics GCNSchedStage::getScheduleMetrics ( const GCNScheduleDAGMILive DAG)

◆ getScheduleMetrics() [2/2]

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

◆ initGCNRegion()

bool GCNSchedStage::initGCNRegion ( )
virtual

◆ initGCNSchedStage()

bool GCNSchedStage::initGCNSchedStage ( )
virtual

◆ isRegionWithExcessRP()

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

◆ mayCauseSpilling()

bool GCNSchedStage::mayCauseSpilling ( unsigned  WavesAfter)

◆ revertScheduling()

void GCNSchedStage::revertScheduling ( )

◆ setupNewBlock()

void GCNSchedStage::setupNewBlock ( )

◆ shouldRevertScheduling()

bool GCNSchedStage::shouldRevertScheduling ( unsigned  WavesAfter)
virtual

Member Data Documentation

◆ CurrentMBB

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

Definition at line 260 of file GCNSchedStrategy.h.

Referenced by initGCNRegion(), and setupNewBlock().

◆ DAG

GCNScheduleDAGMILive& llvm::GCNSchedStage::DAG
protected

◆ MF

MachineFunction& llvm::GCNSchedStage::MF
protected

◆ MFI

SIMachineFunctionInfo& llvm::GCNSchedStage::MFI
protected

◆ PressureAfter

GCNRegPressure llvm::GCNSchedStage::PressureAfter
protected

◆ PressureBefore

GCNRegPressure llvm::GCNSchedStage::PressureBefore
protected

◆ RegionIdx

unsigned llvm::GCNSchedStage::RegionIdx = 0
protected

◆ S

GCNSchedStrategy& llvm::GCNSchedStage::S
protected

◆ SavedMutations

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

◆ ST

const GCNSubtarget& llvm::GCNSchedStage::ST
protected

◆ StageID

const GCNSchedStageID llvm::GCNSchedStage::StageID
protected

◆ Unsched

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

Definition at line 266 of file GCNSchedStrategy.h.

Referenced by initGCNRegion(), and revertScheduling().


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