26#define DEBUG_TYPE "asm-printer"
28#include "XCoreGenAsmWriter.inc"
41void XCoreInstPrinter::
46void XCoreInstPrinter::
56 if (
const MCBinaryExpr *BE = dyn_cast<MCBinaryExpr>(Expr)) {
57 SRE = dyn_cast<MCSymbolRefExpr>(BE->getLHS());
59 assert(SRE && CE &&
"Binary expression must be sym+const.");
62 SRE = dyn_cast<MCSymbolRefExpr>(Expr);
63 assert(SRE &&
"Unexpected MCExpr type.");
76void XCoreInstPrinter::
89 assert(
Op.isExpr() &&
"unknown operand kind in printOperand");
static void printExpr(const MCExpr *Expr, const MCAsmInfo *MAI, raw_ostream &OS)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This file contains the declaration of the XCoreInstPrinter class, which is used to print XCore MCInst...
This class represents an Operation in the Expression.
This class is intended to be used as a base class for asm properties and features specific to the tar...
Binary assembler expressions.
Base class for the full range of assembler expressions which are needed for parsing.
void printAnnotation(raw_ostream &OS, StringRef Annot)
Utility function for printing annotations.
Instances of this class represent a single low-level machine instruction.
Instances of this class represent operands of the MCInst class.
Wrapper class representing physical registers. Should be passed by value.
Generic base class for all target subtargets.
Represent a reference to a symbol from inside an expression.
const MCSymbol & getSymbol() const
VariantKind getKind() const
void print(raw_ostream &OS, const MCAsmInfo *MAI) const
print - Print the value to the stream OS.
StringRef - Represent a constant reference to a string, i.e.
std::string lower() const
static const char * getRegisterName(MCRegister Reg)
void printRegName(raw_ostream &OS, MCRegister Reg) override
Print the assembler register name.
void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O)
void printInst(const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
Print the specified MCInst to the specified raw_ostream.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.