LLVM 22.0.0git
llvm::ResourceManager Class Reference

#include "llvm/CodeGen/MachinePipeliner.h"

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.

Detailed Description

Definition at line 639 of file MachinePipeliner.h.

Constructor & Destructor Documentation

◆ ResourceManager()

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

Definition at line 689 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 3888 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 4118 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 3914 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: