LLVM: lib/Target/XCore/XCoreMCInstLower.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

23

24using namespace llvm;

25

27 : Printer(asmprinter) {}

28

30

32 MachineOperandType MOTy,

33 unsigned Offset) const {

35

36 switch (MOTy) {

39 break;

43 break;

47 break;

51 break;

54 break;

58 break;

59 default:

61 }

62

66

67

69

73}

74

76 unsigned offset) const {

77 MachineOperandType MOTy = MO.getType();

78

79 switch (MOTy) {

82

93 return LowerSymbolOperand(MO, MOTy, offset);

95 break;

96 }

97

99}

100

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

dxil pretty DXIL Metadata Pretty Printer

This class is intended to be used as a driving class for all asm writers.

Binary assembler expressions.

static const MCBinaryExpr * createAdd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx, SMLoc Loc=SMLoc())

static LLVM_ABI const MCConstantExpr * create(int64_t Value, MCContext &Ctx, bool PrintInHex=false, unsigned SizeInBytes=0)

Context object for machine code objects.

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

void addOperand(const MCOperand Op)

void setOpcode(unsigned Op)

Instances of this class represent operands of the MCInst class.

static MCOperand createExpr(const MCExpr *Val)

static MCOperand createReg(MCRegister Reg)

static MCOperand createImm(int64_t Val)

Represent a reference to a symbol from inside an expression.

static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx, SMLoc Loc=SMLoc())

MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...

LLVM_ABI MCSymbol * getSymbol() const

Return the MCSymbol for this basic block.

Representation of each machine instruction.

MachineOperand class - Representation of each machine instruction operand.

const GlobalValue * getGlobal() const

MachineBasicBlock * getMBB() const

const BlockAddress * getBlockAddress() const

MachineOperandType getType() const

getType - Returns the MachineOperandType for this operand.

const char * getSymbolName() const

Register getReg() const

getReg - Returns the register number.

@ MO_Immediate

Immediate operand.

@ MO_ConstantPoolIndex

Address of indexed Constant in Constant Pool.

@ MO_GlobalAddress

Address of a global value.

@ MO_RegisterMask

Mask of preserved registers.

@ MO_BlockAddress

Address of a basic block.

@ MO_MachineBasicBlock

MachineBasicBlock reference.

@ MO_Register

Register operand.

@ MO_ExternalSymbol

Name of external global symbol.

@ MO_JumpTableIndex

Address of indexed Jump Table for switch.

int64_t getOffset() const

Return the offset from the symbol in this operand.

MCOperand LowerOperand(const MachineOperand &MO, unsigned offset=0) const

Definition XCoreMCInstLower.cpp:75

XCoreMCInstLower(class AsmPrinter &asmprinter)

Definition XCoreMCInstLower.cpp:26

void Lower(const MachineInstr *MI, MCInst &OutMI) const

Definition XCoreMCInstLower.cpp:101

void Initialize(MCContext *C)

Definition XCoreMCInstLower.cpp:29

#define llvm_unreachable(msg)

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

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.