LLVM: lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

21

22using namespace llvm;

23

24#define DEBUG_TYPE "asm-printer"

25

26#define GET_INSTRUCTION_NAME

27#include "HexagonGenAsmWriter.inc"

28

32

38 OS << '\v';

39 HasExtender = false;

41 } else {

43 }

47 HasExtender = false;

48}

49

54 O << "#";

55 MCOperand const &MO = MI->getOperand(OpNo);

58 } else if (MO.isExpr()) {

62 else

64 } else {

66 }

67}

68

71 MCOperand const &MO = MI->getOperand(OpNo);

75 if (Expr.evaluateAsAbsolute(Value))

77 else {

80 O << "##";

81 MAI.printExpr(O, Expr);

82 }

83}

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

void printRegName(raw_ostream &O, MCRegister Reg) override

Print the assembler register name.

Definition HexagonInstPrinter.cpp:29

void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O)

void printBrtarget(MCInst const *MI, unsigned OpNo, raw_ostream &O) const

Definition HexagonInstPrinter.cpp:69

void printOperand(MCInst const *MI, unsigned OpNo, raw_ostream &O) const

Definition HexagonInstPrinter.cpp:50

void printInst(MCInst const *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override

Print the specified MCInst to the specified raw_ostream.

Definition HexagonInstPrinter.cpp:33

static char const * getRegisterName(MCRegister Reg)

Base class for the full range of assembler expressions which are needed for parsing.

format_object< int64_t > formatImm(int64_t Value) const

Utility function to print immediates in decimal or hex.

Instances of this class represent a single low-level machine instruction.

Instances of this class represent operands of the MCInst class.

MCRegister getReg() const

Returns the register number.

const MCExpr * getExpr() const

Wrapper class representing physical registers. Should be passed by value.

Generic base class for all target subtargets.

StringRef - Represent a constant reference to a string, i.e.

LLVM Value Representation.

This class implements an extremely fast bulk output stream that can only output to a stream.

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

bool isConstExtended(MCInstrInfo const &MCII, MCInst const &MCI)

bool isDuplex(MCInstrInfo const &MCII, MCInst const &MCI)

unsigned short getExtendableOp(MCInstrInfo const &MCII, MCInst const &MCI)

bool isImmext(MCInst const &MCI)

This is an optimization pass for GlobalISel generic memory operations.

format_object< Ts... > format(const char *Fmt, const Ts &... Vals)

These are helper functions used to produce formatted output.