class ResourceManager
Declaration
class ResourceManager { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:443
Member Variables
- private const llvm::MCSubtargetInfo* STI
- private const llvm::MCSchedModel& SM
- private const bool UseDFA
- private std::unique_ptr<DFAPacketizer> DFAResources
- private llvm::SmallVector<uint64_t, DefaultProcResSize> ProcResourceMasks
- Each processor resource is associated with a so-called processor resource mask. This vector allows to correlate processor resource IDs with processor resource masks. There is exactly one element per each processor resource declared by the scheduling model.
- private llvm::SmallVector<uint64_t, DefaultProcResSize> ProcResourceCount
Method Overview
- public ResourceManager(const llvm::TargetSubtargetInfo * ST)
- public bool canReserveResources(const llvm::MCInstrDesc * MID) const
- public bool canReserveResources(const llvm::MachineInstr & MI) const
- public void clearResources()
- public void initProcResourceVectors(const llvm::MCSchedModel & SM, SmallVectorImpl<uint64_t> & Masks)
- public void reserveResources(const llvm::MCInstrDesc * MID)
- public void reserveResources(const llvm::MachineInstr & MI)
Methods
¶ResourceManager(
const llvm::TargetSubtargetInfo* ST)
ResourceManager(
const llvm::TargetSubtargetInfo* ST)
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:458
Parameters
- const llvm::TargetSubtargetInfo* ST
¶bool canReserveResources(
const llvm::MCInstrDesc* MID) const
bool canReserveResources(
const llvm::MCInstrDesc* MID) const
Description
Check if the resources occupied by a MCInstrDesc are available in the current state.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:471
Parameters
- const llvm::MCInstrDesc* MID
¶bool canReserveResources(
const llvm::MachineInstr& MI) const
bool canReserveResources(
const llvm::MachineInstr& MI) const
Description
Check if the resources occupied by a machine instruction are available in the current state.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:479
Parameters
- const llvm::MachineInstr& MI
¶void clearResources()
void clearResources()
Description
Reset the state
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:486
¶void initProcResourceVectors(
const llvm::MCSchedModel& SM,
SmallVectorImpl<uint64_t>& Masks)
void initProcResourceVectors(
const llvm::MCSchedModel& SM,
SmallVectorImpl<uint64_t>& Masks)
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:467
Parameters
- const llvm::MCSchedModel& SM
- SmallVectorImpl<uint64_t>& Masks
¶void reserveResources(
const llvm::MCInstrDesc* MID)
void reserveResources(
const llvm::MCInstrDesc* MID)
Description
Reserve the resources occupied by a MCInstrDesc and change the current state to reflect that change.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:475
Parameters
- const llvm::MCInstrDesc* MID
¶void reserveResources(
const llvm::MachineInstr& MI)
void reserveResources(
const llvm::MachineInstr& MI)
Description
Reserve the resources occupied by a machine instruction and change the current state to reflect that change.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:483
Parameters
- const llvm::MachineInstr& MI