14 #define DEBUG_TYPE "asm-printer"
25 #include "XCoreGenAsmWriter.inc"
37 void XCoreInstPrinter::
42 void XCoreInstPrinter::
51 if (
const MCBinaryExpr *BE = dyn_cast<MCBinaryExpr>(Expr)) {
54 assert(SRE && CE &&
"Binary expression must be sym+const.");
55 Offset = CE->getValue();
58 assert(SRE &&
"Unexpected MCExpr type.");
71 void XCoreInstPrinter::
84 assert(Op.
isExpr() &&
"unknown operand kind in printOperand");
const MCSymbol & getSymbol() const
enable_if_c<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)
virtual void printRegName(raw_ostream &OS, unsigned RegNo) const
printRegName - Print the assembler register name.
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason, bool gen_crash_diag=true)
virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot)
unsigned getReg() const
getReg - Returns the register number.
static void printExpr(const MCExpr *Expr, raw_ostream &OS)
const MCExpr * getExpr() const
void printInstruction(const MCInst *MI, raw_ostream &O)
MCBinaryExpr - Binary assembler expressions.
This file contains the declaration of the XCoreInstPrinter class, which is used to print XCore MCInst...
VariantKind getKind() const
void printAnnotation(raw_ostream &OS, StringRef Annot)
Utility function for printing annotations.
std::string lower() const
const MCOperand & getOperand(unsigned i) const
static const char * getRegisterName(unsigned RegNo)