LLVM 20.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::SIScheduleBlock Class Reference

#include "Target/AMDGPU/SIMachineScheduler.h"

Public Member Functions

 SIScheduleBlock (SIScheduleDAGMI *DAG, SIScheduleBlockCreator *BC, unsigned ID)
 
 ~SIScheduleBlock ()=default
 
unsigned getID () const
 
void addUnit (SUnit *SU)
 Functions for Block construction.
 
void finalizeUnits ()
 
void addPred (SIScheduleBlock *Pred)
 
void addSucc (SIScheduleBlock *Succ, SIScheduleBlockLinkKind Kind)
 
const std::vector< SIScheduleBlock * > & getPreds () const
 
ArrayRef< std::pair< SIScheduleBlock *, SIScheduleBlockLinkKind > > getSuccs () const
 
unsigned getNumHighLatencySuccessors () const
 
bool isHighLatencyBlock ()
 
int getCost ()
 
void fastSchedule ()
 
std::vector< SUnit * > getScheduledUnits ()
 
void schedule (MachineBasicBlock::iterator BeginBlock, MachineBasicBlock::iterator EndBlock)
 
bool isScheduled ()
 
std::vector< unsigned > & getInternalAdditionalRegUsage ()
 
std::set< unsigned > & getInRegs ()
 
std::set< unsigned > & getOutRegs ()
 
void printDebug (bool Full)
 

Public Attributes

unsigned Height = 0
 
unsigned Depth = 0
 

Detailed Description

Definition at line 58 of file SIMachineScheduler.h.

Constructor & Destructor Documentation

◆ SIScheduleBlock()

llvm::SIScheduleBlock::SIScheduleBlock ( SIScheduleDAGMI DAG,
SIScheduleBlockCreator BC,
unsigned  ID 
)
inline

Definition at line 101 of file SIMachineScheduler.h.

◆ ~SIScheduleBlock()

llvm::SIScheduleBlock::~SIScheduleBlock ( )
default

Member Function Documentation

◆ addPred()

void SIScheduleBlock::addPred ( SIScheduleBlock Pred)

Definition at line 516 of file SIMachineScheduler.cpp.

References assert(), getID(), llvm::none_of(), and P.

◆ addSucc()

void SIScheduleBlock::addSucc ( SIScheduleBlock Succ,
SIScheduleBlockLinkKind  Kind 
)

◆ addUnit()

void SIScheduleBlock::addUnit ( SUnit SU)

Functions for Block construction.

Definition at line 176 of file SIMachineScheduler.cpp.

References llvm::SUnit::NodeNum.

◆ fastSchedule()

void SIScheduleBlock::fastSchedule ( )

Definition at line 267 of file SIMachineScheduler.cpp.

Referenced by schedule().

◆ finalizeUnits()

void SIScheduleBlock::finalizeUnits ( )

◆ getCost()

int llvm::SIScheduleBlock::getCost ( )
inline

Definition at line 135 of file SIMachineScheduler.h.

◆ getID()

unsigned llvm::SIScheduleBlock::getID ( ) const
inline

Definition at line 107 of file SIMachineScheduler.h.

Referenced by addPred(), and addSucc().

◆ getInRegs()

std::set< unsigned > & llvm::SIScheduleBlock::getInRegs ( )
inline

Definition at line 160 of file SIMachineScheduler.h.

◆ getInternalAdditionalRegUsage()

std::vector< unsigned > & llvm::SIScheduleBlock::getInternalAdditionalRegUsage ( )
inline

Definition at line 156 of file SIMachineScheduler.h.

◆ getNumHighLatencySuccessors()

unsigned llvm::SIScheduleBlock::getNumHighLatencySuccessors ( ) const
inline

Definition at line 126 of file SIMachineScheduler.h.

◆ getOutRegs()

std::set< unsigned > & llvm::SIScheduleBlock::getOutRegs ( )
inline

Definition at line 161 of file SIMachineScheduler.h.

◆ getPreds()

const std::vector< SIScheduleBlock * > & llvm::SIScheduleBlock::getPreds ( ) const
inline

Definition at line 119 of file SIMachineScheduler.h.

◆ getScheduledUnits()

std::vector< SUnit * > llvm::SIScheduleBlock::getScheduledUnits ( )
inline

Definition at line 142 of file SIMachineScheduler.h.

◆ getSuccs()

ArrayRef< std::pair< SIScheduleBlock *, SIScheduleBlockLinkKind > > llvm::SIScheduleBlock::getSuccs ( ) const
inline

Definition at line 121 of file SIMachineScheduler.h.

◆ isHighLatencyBlock()

bool llvm::SIScheduleBlock::isHighLatencyBlock ( )
inline

Definition at line 130 of file SIMachineScheduler.h.

Referenced by addSucc().

◆ isScheduled()

bool llvm::SIScheduleBlock::isScheduled ( )
inline

Definition at line 152 of file SIMachineScheduler.h.

◆ printDebug()

void SIScheduleBlock::printDebug ( bool  Full)

◆ schedule()

void SIScheduleBlock::schedule ( MachineBasicBlock::iterator  BeginBlock,
MachineBasicBlock::iterator  EndBlock 
)

Member Data Documentation

◆ Depth

unsigned llvm::SIScheduleBlock::Depth = 0

Definition at line 124 of file SIMachineScheduler.h.

◆ Height

unsigned llvm::SIScheduleBlock::Height = 0

Definition at line 123 of file SIMachineScheduler.h.


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