class InstrPostProcess

Declaration

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

Description

Class which can be overriden by targets to modify the mca::Instruction objects before the pipeline starts. A common usage of this class is to add immediate operands to certain instructions or to remove Defs/Uses from an instruction where the schedulinng model is incorrect.

Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:35

Member Variables

protected const llvm::MCSubtargetInfo& STI
protected const llvm::MCInstrInfo& MCII

Method Overview

Methods

InstrPostProcess(const llvm::MCSubtargetInfo& STI,
                 const llvm::MCInstrInfo& MCII)

Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:41

Parameters

const llvm::MCSubtargetInfo& STI
const llvm::MCInstrInfo& MCII

virtual void postProcessInstruction(
    std::unique_ptr<Instruction>& Inst,
    const llvm::MCInst& MCI)

Description

This method can be overriden by targets to modify the mca::Instruction object after it has been lowered from the MCInst. This is generally a less disruptive alternative to modifying the scheduling model.

Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:50

Parameters

std::unique_ptr<Instruction>& Inst
const llvm::MCInst& MCI

virtual void resetState()

Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:56

virtual ~InstrPostProcess()

Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:44