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

Methods

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

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

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()

Description

Reset the state

Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:486

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)

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)

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