#include "LoongArchInstPrinter.h"
#include "LoongArchBaseInfo.h"
#include "LoongArchMCTargetDesc.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/CommandLine.h"
usingnamespacellvm;
#define DEBUG_TYPE …
#define PRINT_ALIAS_INSTR
#include "LoongArchGenAsmWriter.inc"
static cl::opt<bool>
NumericReg("loongarch-numeric-reg",
cl::desc("Print numeric register names rather than the ABI "
"names (such as $r0 instead of $zero)"),
cl::init(false), cl::Hidden);
bool LoongArchInstPrinter::applyTargetSpecificCLOption(StringRef Opt) { … }
void LoongArchInstPrinter::printInst(const MCInst *MI, uint64_t Address,
StringRef Annot,
const MCSubtargetInfo &STI,
raw_ostream &O) { … }
void LoongArchInstPrinter::printRegName(raw_ostream &O, MCRegister Reg) const { … }
void LoongArchInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI,
raw_ostream &O) { … }
void LoongArchInstPrinter::printAtomicMemOp(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI,
raw_ostream &O) { … }
const char *LoongArchInstPrinter::getRegisterName(MCRegister Reg) { … }