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
- public InstrPostProcess(const llvm::MCSubtargetInfo & STI, const llvm::MCInstrInfo & MCII)
- public virtual void postProcessInstruction(std::unique_ptr<Instruction> & Inst, const llvm::MCInst & MCI)
- public virtual void resetState()
- public virtual ~InstrPostProcess()
Methods
¶InstrPostProcess(const llvm::MCSubtargetInfo& STI,
const llvm::MCInstrInfo& MCII)
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)
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()
virtual void resetState()
Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:56
¶virtual ~InstrPostProcess()
virtual ~InstrPostProcess()
Declared at: llvm/include/llvm/MCA/CustomBehaviour.h:44