LLVM
8.0.1
|
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_HI12 = 7, MO_COFFSTUB = 0x8, MO_GOT = 0x10, MO_NC = 0x20, MO_TLS = 0x40, MO_DLLIMPORT = 0x80, MO_S = 0x100 } |
Target Operand Flag enum. More... | |
enum llvm::AArch64II::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_COFFSTUB | MO_COFFSTUB - On a symbol operand "FOO", this indicates that the reference is actually to the ".refptrp.FOO" symbol. This is used for stub symbols on windows. |
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. |
MO_S | MO_S - Indicates that the bits of the symbol operand represented by MO_G0 etc are signed. |
Definition at line 520 of file AArch64BaseInfo.h.