#include "RISCVCustomBehaviour.h"
#include "MCTargetDesc/RISCVMCTargetDesc.h"
#include "RISCV.h"
#include "TargetInfo/RISCVTargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Debug.h"
#define DEBUG_TYPE …
namespace llvm {
namespace mca {
const llvm::StringRef RISCVLMULInstrument::DESC_NAME = …;
bool RISCVLMULInstrument::isDataValid(llvm::StringRef Data) { … }
uint8_t RISCVLMULInstrument::getLMUL() const { … }
const llvm::StringRef RISCVSEWInstrument::DESC_NAME = …;
bool RISCVSEWInstrument::isDataValid(llvm::StringRef Data) { … }
uint8_t RISCVSEWInstrument::getSEW() const { … }
bool RISCVInstrumentManager::supportsInstrumentType(
llvm::StringRef Type) const { … }
UniqueInstrument
RISCVInstrumentManager::createInstrument(llvm::StringRef Desc,
llvm::StringRef Data) { … }
SmallVector<UniqueInstrument>
RISCVInstrumentManager::createInstruments(const MCInst &Inst) { … }
static std::pair<uint8_t, uint8_t>
getEEWAndEMUL(unsigned Opcode, RISCVII::VLMUL LMUL, uint8_t SEW) { … }
bool opcodeHasEEWAndEMULInfo(unsigned short Opcode) { … }
unsigned RISCVInstrumentManager::getSchedClassID(
const MCInstrInfo &MCII, const MCInst &MCI,
const llvm::SmallVector<Instrument *> &IVec) const { … }
}
}
usingnamespacellvm;
usingnamespacemca;
static InstrumentManager *
createRISCVInstrumentManager(const MCSubtargetInfo &STI,
const MCInstrInfo &MCII) { … }
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVTargetMCA() { … }