LLVM: lib/Target/ARC/ARCMCInstLower.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

23

24using namespace llvm;

25

28

30 MachineOperandType MOTy,

31 unsigned Offset) const {

33

34 switch (MOTy) {

37 break;

41 break;

45 break;

49 break;

52 break;

56 break;

57 default:

59 }

60

61 assert(Symbol && "Symbol creation failed.\n");

63

66

67

69

73}

74

76 unsigned Offset) const {

77 MachineOperandType MOTy = MO.getType();

78

79 switch (MOTy) {

80 default:

83

85 break;

95 return LowerSymbolOperand(MO, MOTy, Offset);

97 break;

98 }

99

100 return {};

101}

102

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

dxil pretty DXIL Metadata Pretty Printer

ARCMCInstLower(MCContext *C, AsmPrinter &asmprinter)

Definition ARCMCInstLower.cpp:26

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

Definition ARCMCInstLower.cpp:103

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

Definition ARCMCInstLower.cpp:75

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.

#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.