LLVM: llvm::ResourceManager Class Reference (original) (raw)

#include "[llvm/CodeGen/MachinePipeliner.h](MachinePipeliner%5F8h%5Fsource.html)"

Public Member Functions
ResourceManager (const TargetSubtargetInfo *ST, ScheduleDAGInstrs *DAG)
void initProcResourceVectors (const MCSchedModel &SM, SmallVectorImpl< uint64_t > &Masks)
bool canReserveResources (SUnit &SU, int Cycle)
Check if the resources occupied by a machine instruction are available in the current state.
void reserveResources (SUnit &SU, int Cycle)
Reserve the resources occupied by a machine instruction and change the current state to reflect that change.
int calculateResMII () const
void init (int II)
Initialize resources with the initiation interval II.

Definition at line 582 of file MachinePipeliner.h.

calculateResMII()

int ResourceManager::calculateResMII ( ) const

Definition at line 3666 of file MachinePipeliner.cpp.

References llvm::dbgs(), llvm::ScheduleDAGInstrs::dumpNode(), llvm::SUnit::getInstr(), llvm::MCSchedModel::getNumProcResourceKinds(), llvm::MachineInstr::getOpcode(), llvm::MCSchedModel::getProcResource(), llvm::ScheduleDAGInstrs::getSchedClass(), llvm::MCSubtargetInfo::getWriteProcResBegin(), llvm::MCSubtargetInfo::getWriteProcResEnd(), I, llvm::MCSchedClassDesc::isValid(), llvm::TargetInstrInfo::isZeroCost(), LLVM_DEBUG, llvm::make_range(), llvm::MCSchedClassDesc::NumMicroOps, llvm::ScheduleDAG::SUnits, and SwpDebugResource.

canReserveResources()

bool ResourceManager::canReserveResources ( SUnit & SU,
int Cycle
)

init()

void ResourceManager::init ( int II )

initProcResourceVectors()

Definition at line 3469 of file MachinePipeliner.cpp.

References assert(), llvm::dbgs(), llvm::format(), llvm::MCSchedModel::getNumProcResourceKinds(), llvm::MCSchedModel::getProcResource(), I, LLVM_DEBUG, llvm::MCProcResourceDesc::Name, llvm::MCProcResourceDesc::NumUnits, llvm::SmallVectorImpl< T >::resize(), and SwpShowResMask.

Referenced by ResourceManager().

reserveResources()

void ResourceManager::reserveResources ( SUnit & SU,
int Cycle
)

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