LLVM  14.0.0git
Public Member Functions | Protected Attributes | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for llvm::mca::InstrPostProcess:
Collaboration graph
[legend]

Public Member Functions

 InstrPostProcess (const MCSubtargetInfo &STI, const MCInstrInfo &MCII)
 
virtual ~InstrPostProcess ()
 
virtual void postProcessInstruction (std::unique_ptr< Instruction > &Inst, const MCInst &MCI)
 

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 35 of file CustomBehaviour.h.

Constructor & Destructor Documentation

◆ InstrPostProcess()

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

Definition at line 41 of file CustomBehaviour.h.

◆ ~InstrPostProcess()

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

Definition at line 44 of file CustomBehaviour.h.

Member Function Documentation

◆ postProcessInstruction()

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

Reimplemented in llvm::mca::AMDGPUInstrPostProcess.

Definition at line 46 of file CustomBehaviour.h.

Member Data Documentation

◆ MCII

const MCInstrInfo& llvm::mca::InstrPostProcess::MCII
protected

Definition at line 38 of file CustomBehaviour.h.

◆ STI

const MCSubtargetInfo& llvm::mca::InstrPostProcess::STI
protected

Definition at line 37 of file CustomBehaviour.h.


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