LLVM 23.0.0git
llvm::ResourceManager Class Reference

#include "llvm/CodeGen/MachinePipeliner.h"

Public Member Functions

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

Detailed Description

Definition at line 644 of file MachinePipeliner.h.

Constructor & Destructor Documentation

◆ ResourceManager()

llvm::mca::ResourceManager::ResourceManager ( const TargetSubtargetInfo * ST,
ScheduleDAGInstrs * DAG )
inline

Definition at line 694 of file MachinePipeliner.h.

References initProcResourceVectors(), and llvm::SwpForceIssueWidth.

Member Function Documentation

◆ calculateResMII()

◆ canReserveResources()

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

Check if the resources occupied by a machine instruction are available in the current state.

Definition at line 3944 of file MachinePipeliner.cpp.

References llvm::dbgs(), llvm::MachineInstr::getDesc(), llvm::SUnit::getInstr(), llvm::MachineInstr::isPseudo(), llvm::MCSchedClassDesc::isValid(), LLVM_DEBUG, and SwpDebugResource.

◆ init()

void ResourceManager::init ( int II)

Initialize resources with the initiation interval II.

Definition at line 4174 of file MachinePipeliner.cpp.

References I, and II.

◆ initProcResourceVectors()

◆ reserveResources()

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

Reserve the resources occupied by a machine instruction and change the current state to reflect that change.

Definition at line 3970 of file MachinePipeliner.cpp.

References llvm::dbgs(), llvm::MachineInstr::getDesc(), llvm::SUnit::getInstr(), llvm::MachineInstr::isPseudo(), llvm::MCSchedClassDesc::isValid(), LLVM_DEBUG, and SwpDebugResource.


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