LLVM 22.0.0git
llvm::mca::InstrPostProcess Class Reference

Class which can be overriden by targets to modify the mca::Instruction objects before the pipeline starts. More...

#include "llvm/MCA/CustomBehaviour.h"

Inheritance diagram for llvm::mca::InstrPostProcess:
[legend]

Public Member Functions

 InstrPostProcess (const MCSubtargetInfo &STI, const MCInstrInfo &MCII)
virtual ~InstrPostProcess ()=default
virtual void postProcessInstruction (std::unique_ptr< Instruction > &Inst, const MCInst &MCI)
 This method can be overriden by targets to modify the mca::Instruction object after it has been lowered from the MCInst.
virtual void resetState ()

Protected Attributes

const MCSubtargetInfoSTI
const MCInstrInfoMCII

Detailed 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.

Definition at line 37 of file CustomBehaviour.h.

Constructor & Destructor Documentation

◆ InstrPostProcess()

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

◆ ~InstrPostProcess()

virtual llvm::mca::InstrPostProcess::~InstrPostProcess ( )
virtualdefault

Member Function Documentation

◆ postProcessInstruction()

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

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.

Reimplemented in llvm::mca::AMDGPUInstrPostProcess, and llvm::mca::X86InstrPostProcess.

Definition at line 52 of file CustomBehaviour.h.

◆ resetState()

virtual void llvm::mca::InstrPostProcess::resetState ( )
inlinevirtual

Definition at line 58 of file CustomBehaviour.h.

Member Data Documentation

◆ MCII

◆ STI


The documentation for this class was generated from the following file: