LLVM: llvm::mca::RISCVInstrumentManager Class Reference (original) (raw)

#include "[Target/RISCV/MCA/RISCVCustomBehaviour.h](RISCVCustomBehaviour%5F8h%5Fsource.html)"

Inheritance diagram for llvm::mca::RISCVInstrumentManager:

Public Member Functions
RISCVInstrumentManager (const MCSubtargetInfo &STI, const MCInstrInfo &MCII)
bool shouldIgnoreInstruments () const override
Returns true if llvm-mca should ignore instruments.
bool supportsInstrumentType (StringRef Type) const override
UniqueInstrument createInstrument (StringRef Desc, StringRef Data) override
Create a Instrument for RISC-V target.
SmallVector< UniqueInstrument > createInstruments (const MCInst &Inst) override
Return a list of unique pointers to Instruments, where each Instrument is allocated by this function.
unsigned getSchedClassID (const MCInstrInfo &MCII, const MCInst &MCI, const SmallVector< Instrument * > &IVec) const override
Using the Instrument, returns a SchedClassID to use instead of the SchedClassID that belongs to the MCI or the original SchedClassID.
Public Member Functions inherited from llvm::mca::InstrumentManager
InstrumentManager (const MCSubtargetInfo &STI, const MCInstrInfo &MCII, bool EnableInstruments=true)
virtual ~InstrumentManager ()=default
virtual bool canCustomize (const ArrayRef< Instrument * > IVec) const
virtual void customize (const ArrayRef< Instrument * > IVec, llvm::mca::InstrDesc &Desc) const

Detailed Description

Definition at line 53 of file RISCVCustomBehaviour.h.

Constructor & Destructor Documentation

Member Function Documentation

createInstrument()

createInstruments()

Return a list of unique pointers to Instruments, where each Instrument is allocated by this function.

See createInstrument to create Instrument from a description and data.

Reimplemented from llvm::mca::InstrumentManager.

Definition at line 120 of file RISCVCustomBehaviour.cpp.

References createInstrument(), llvm::mca::RISCVLMULInstrument::DESC_NAME, llvm::mca::RISCVSEWInstrument::DESC_NAME, llvm::SmallVectorImpl< T >::emplace_back(), llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::RISCVVType::getSEW(), llvm::RISCVVType::getVLMUL(), LDBG, llvm_unreachable, llvm::RISCVVType::LMUL_1, llvm::RISCVVType::LMUL_2, llvm::RISCVVType::LMUL_4, llvm::RISCVVType::LMUL_8, llvm::RISCVVType::LMUL_F2, llvm::RISCVVType::LMUL_F4, llvm::RISCVVType::LMUL_F8, llvm::RISCVVType::LMUL_RESERVED, and llvm::SmallVector.

getSchedClassID()

Using the Instrument, returns a SchedClassID to use instead of the SchedClassID that belongs to the MCI or the original SchedClassID.

Reimplemented from llvm::mca::InstrumentManager.

Definition at line 236 of file RISCVCustomBehaviour.cpp.

References llvm::mca::RISCVLMULInstrument::DESC_NAME, llvm::mca::RISCVSEWInstrument::DESC_NAME, llvm::mca::Instrument::getData(), llvm::mca::getEEWAndEMUL(), llvm::mca::RISCVLMULInstrument::getLMUL(), llvm::MCInst::getOpcode(), I, LDBG, llvm::mca::InstrumentManager::MCII, llvm::mca::opcodeHasEEWAndEMULInfo(), and llvm::RVV.

shouldIgnoreInstruments()

bool llvm::mca::RISCVInstrumentManager::shouldIgnoreInstruments ( ) const inlineoverridevirtual

supportsInstrumentType()

bool llvm::mca::RISCVInstrumentManager::supportsInstrumentType ( llvm::StringRef Type) const overridevirtual

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