LLVM API Documentation

Enumerations
llvm::AArch64II Namespace Reference

Enumerations

enum  TOF {
  MO_NO_FLAG, MO_FRAGMENT = 0x7, MO_PAGE = 1, MO_PAGEOFF = 2,
  MO_G3 = 3, MO_G2 = 4, MO_G1 = 5, MO_G0 = 6,
  MO_GOT = 8, MO_NC = 0x10, MO_TLS = 0x20, MO_CONSTPOOL = 0x40
}
 Target Operand Flag enum. More...

Enumeration Type Documentation

Target Operand Flag enum.

Enumerator:
MO_NO_FLAG 
MO_FRAGMENT 
MO_PAGE 

MO_PAGE - A symbol operand with this flag represents the pc-relative offset of the 4K page containing the symbol. This is used with the ADRP instruction.

MO_PAGEOFF 

MO_PAGEOFF - A symbol operand with this flag represents the offset of that symbol within a 4K page. This offset is added to the page address to produce the complete address.

MO_G3 

MO_G3 - A symbol operand with this flag (granule 3) represents the high 16-bits of a 64-bit address, used in a MOVZ or MOVK instruction

MO_G2 

MO_G2 - A symbol operand with this flag (granule 2) represents the bits 32-47 of a 64-bit address, used in a MOVZ or MOVK instruction

MO_G1 

MO_G1 - A symbol operand with this flag (granule 1) represents the bits 16-31 of a 64-bit address, used in a MOVZ or MOVK instruction

MO_G0 

MO_G0 - A symbol operand with this flag (granule 0) represents the bits 0-15 of a 64-bit address, used in a MOVZ or MOVK instruction

MO_GOT 

MO_GOT - This flag indicates that a symbol operand represents the address of the GOT entry for the symbol, rather than the address of the symbol itself.

MO_NC 

MO_NC - Indicates whether the linker is expected to check the symbol reference for overflow. For example in an ADRP/ADD pair of relocations the ADRP usually does check, but not the ADD.

MO_TLS 

MO_TLS - Indicates that the operand being accessed is some kind of thread-local symbol. On Darwin, only one type of thread-local access exists (pre linker-relaxation), but on ELF the TLSModel used for the referee will affect interpretation.

MO_CONSTPOOL 

MO_CONSTPOOL - This flag indicates that a symbol operand represents the address of a constant pool entry for the symbol, rather than the address of the symbol itself.

Definition at line 1226 of file AArch64BaseInfo.h.