class X86InstrPostProcess
Declaration
class X86InstrPostProcess : public 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/lib/Target/X86/MCA/X86CustomBehaviour.h:27
Inherits from: InstrPostProcess
Member Variables
Inherited from InstrPostProcess:
Method Overview
- public X86InstrPostProcess(const llvm::MCSubtargetInfo & STI, const llvm::MCInstrInfo & MCII)
- public void postProcessInstruction(std::unique_ptr<Instruction> & Inst, const llvm::MCInst & MCI)
- private void processWaitCnt(std::unique_ptr<Instruction> & Inst, const llvm::MCInst & MCI)
- private void setMemBarriers(std::unique_ptr<Instruction> & Inst, const llvm::MCInst & MCI)
- public ~X86InstrPostProcess()
Inherited from InstrPostProcess:
Methods
¶X86InstrPostProcess(
const llvm::MCSubtargetInfo& STI,
const llvm::MCInstrInfo& MCII)
X86InstrPostProcess(
const llvm::MCSubtargetInfo& STI,
const llvm::MCInstrInfo& MCII)
Declared at: llvm/lib/Target/X86/MCA/X86CustomBehaviour.h:35
Parameters
- const llvm::MCSubtargetInfo& STI
- const llvm::MCInstrInfo& MCII
¶void postProcessInstruction(
std::unique_ptr<Instruction>& Inst,
const llvm::MCInst& MCI)
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/lib/Target/X86/MCA/X86CustomBehaviour.h:40
Parameters
- std::unique_ptr<Instruction>& Inst
- const llvm::MCInst& MCI
¶void processWaitCnt(
std::unique_ptr<Instruction>& Inst,
const llvm::MCInst& MCI)
void processWaitCnt(
std::unique_ptr<Instruction>& Inst,
const llvm::MCInst& MCI)
Declared at: llvm/lib/Target/X86/MCA/X86CustomBehaviour.h:28
Parameters
- std::unique_ptr<Instruction>& Inst
- const llvm::MCInst& MCI
¶void setMemBarriers(
std::unique_ptr<Instruction>& Inst,
const llvm::MCInst& MCI)
void setMemBarriers(
std::unique_ptr<Instruction>& Inst,
const llvm::MCInst& MCI)
Description
Called within X86InstrPostProcess to specify certain instructions as load and store barriers.
Declared at: llvm/lib/Target/X86/MCA/X86CustomBehaviour.h:32
Parameters
- std::unique_ptr<Instruction>& Inst
- const llvm::MCInst& MCI
¶~X86InstrPostProcess()
~X86InstrPostProcess()
Declared at: llvm/lib/Target/X86/MCA/X86CustomBehaviour.h:38