LLVM 20.0.0git
|
#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 |
Definition at line 58 of file SIMachineScheduler.h.
|
inline |
Definition at line 101 of file SIMachineScheduler.h.
|
default |
void SIScheduleBlock::addPred | ( | SIScheduleBlock * | Pred | ) |
Definition at line 516 of file SIMachineScheduler.cpp.
References assert(), getID(), llvm::none_of(), and P.
void SIScheduleBlock::addSucc | ( | SIScheduleBlock * | Succ, |
SIScheduleBlockLinkKind | Kind | ||
) |
Definition at line 534 of file SIMachineScheduler.cpp.
References assert(), llvm::Data, getID(), isHighLatencyBlock(), llvm::NoData, llvm::none_of(), and P.
void SIScheduleBlock::addUnit | ( | SUnit * | SU | ) |
Functions for Block construction.
Definition at line 176 of file SIMachineScheduler.cpp.
References llvm::SUnit::NodeNum.
void SIScheduleBlock::fastSchedule | ( | ) |
Definition at line 267 of file SIMachineScheduler.cpp.
Referenced by schedule().
void SIScheduleBlock::finalizeUnits | ( | ) |
Definition at line 505 of file SIMachineScheduler.cpp.
References llvm::SIScheduleDAGMI::IsHighLatencySU, and llvm::SUnit::NodeNum.
|
inline |
Definition at line 135 of file SIMachineScheduler.h.
|
inline |
Definition at line 107 of file SIMachineScheduler.h.
|
inline |
Definition at line 160 of file SIMachineScheduler.h.
|
inline |
Definition at line 156 of file SIMachineScheduler.h.
|
inline |
Definition at line 126 of file SIMachineScheduler.h.
|
inline |
Definition at line 161 of file SIMachineScheduler.h.
|
inline |
Definition at line 119 of file SIMachineScheduler.h.
|
inline |
Definition at line 142 of file SIMachineScheduler.h.
|
inline |
Definition at line 121 of file SIMachineScheduler.h.
|
inline |
Definition at line 130 of file SIMachineScheduler.h.
Referenced by addSucc().
|
inline |
Definition at line 152 of file SIMachineScheduler.h.
void SIScheduleBlock::printDebug | ( | bool | Full | ) |
Definition at line 557 of file SIMachineScheduler.cpp.
References llvm::Data, llvm::dbgs(), llvm::ScheduleDAGInstrs::dumpNode(), llvm::SIScheduleDAGMI::getTRI(), P, and llvm::printVRegOrUnit().
void SIScheduleBlock::schedule | ( | MachineBasicBlock::iterator | BeginBlock, |
MachineBasicBlock::iterator | EndBlock | ||
) |
Definition at line 377 of file SIMachineScheduler.cpp.
References llvm::RegPressureTracker::advance(), assert(), fastSchedule(), llvm::SUnit::getInstr(), llvm::RegisterPressure::MaxSetPressure, and llvm::RegPressureTracker::setPos().
unsigned llvm::SIScheduleBlock::Depth = 0 |
Definition at line 124 of file SIMachineScheduler.h.
unsigned llvm::SIScheduleBlock::Height = 0 |
Definition at line 123 of file SIMachineScheduler.h.