LLVM  6.0.0svn
Enumerations
llvm::AArch64II Namespace Reference

Enumerations

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

Enumeration Type Documentation

◆ TOF

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_HI12 

MO_HI12 - This flag indicates that a symbol operand represents the bits 13-24 of a 64-bit address, used in a arithmetic immediate-shifted-left- by-12-bits 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_DLLIMPORT 

MO_DLLIMPORT - On a symbol operand, this represents that the reference to the symbol is for an import stub.

This is used for DLL import storage class indication on Windows.

Definition at line 467 of file AArch64BaseInfo.h.