#include "RISCVBaseInfo.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/TargetParser.h"
#include "llvm/TargetParser/Triple.h"
namespace llvm {
extern const SubtargetFeatureKV RISCVFeatureKV[RISCV::NumSubtargetFeatures];
namespace RISCVSysReg {
#define GET_SysRegsList_IMPL
#include "RISCVGenSearchableTables.inc"
}
namespace RISCVInsnOpcode {
#define GET_RISCVOpcodesList_IMPL
#include "RISCVGenSearchableTables.inc"
}
namespace RISCVABI {
ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits,
StringRef ABIName) { … }
ABI getTargetABI(StringRef ABIName) { … }
MCRegister getBPReg() { … }
MCRegister getSCSPReg() { … }
}
namespace RISCVFeatures {
void validate(const Triple &TT, const FeatureBitset &FeatureBits) { … }
llvm::Expected<std::unique_ptr<RISCVISAInfo>>
parseFeatureBits(bool IsRV64, const FeatureBitset &FeatureBits) { … }
}
#define GEN_UNCOMPRESS_INSTR
#define GEN_COMPRESS_INSTR
#include "RISCVGenCompressInstEmitter.inc"
bool RISCVRVC::compress(MCInst &OutInst, const MCInst &MI,
const MCSubtargetInfo &STI) { … }
bool RISCVRVC::uncompress(MCInst &OutInst, const MCInst &MI,
const MCSubtargetInfo &STI) { … }
static constexpr std::pair<uint8_t, uint8_t> LoadFP32ImmArr[] = …;
int RISCVLoadFPImm::getLoadFPImm(APFloat FPImm) { … }
float RISCVLoadFPImm::getFPImm(unsigned Imm) { … }
void RISCVZC::printRlist(unsigned SlistEncode, raw_ostream &OS) { … }
}