class InstrBuilder

Declaration

class InstrBuilder { /* full declaration omitted */ };

Description

A builder class that knows how to construct Instruction objects. Every llvm-mca Instruction is described by an object of class InstrDesc. An InstrDesc describes which registers are read/written by the instruction, as well as the instruction latency and hardware resources consumed. This class is used by the tool to construct Instructions and instruction descriptors (i.e. InstrDesc objects). Information from the machine scheduling model is used to identify processor resources that are consumed by an instruction.

Declared at: llvm/include/llvm/MCA/InstrBuilder.h:38

Method Overview

  • public InstrBuilder(const llvm::MCSubtargetInfo & STI, const llvm::MCInstrInfo & MCII, const llvm::MCRegisterInfo & RI, const llvm::MCInstrAnalysis * IA)
  • public void clear()
  • public Expected<std::unique_ptr<Instruction>> createInstruction(const llvm::MCInst & MCI)

Methods

InstrBuilder(const llvm::MCSubtargetInfo& STI,
             const llvm::MCInstrInfo& MCII,
             const llvm::MCRegisterInfo& RI,
             const llvm::MCInstrAnalysis* IA)

Declared at: llvm/include/llvm/MCA/InstrBuilder.h:62

Parameters

const llvm::MCSubtargetInfo& STI
const llvm::MCInstrInfo& MCII
const llvm::MCRegisterInfo& RI
const llvm::MCInstrAnalysis* IA

void clear()

Declared at: llvm/include/llvm/MCA/InstrBuilder.h:65

Expected<std::unique_ptr<Instruction>>
createInstruction(const llvm::MCInst& MCI)

Declared at: llvm/include/llvm/MCA/InstrBuilder.h:71

Parameters

const llvm::MCInst& MCI