LLVM API Documentation

Enumerations | Functions
llvm::ARMII Namespace Reference

Enumerations

enum  IndexMode { IndexModeNone = 0, IndexModePre = 1, IndexModePost = 2, IndexModeUpd = 3 }
 ARM Index Modes. More...
enum  AddrMode {
  AddrModeNone = 0, AddrMode1 = 1, AddrMode2 = 2, AddrMode3 = 3,
  AddrMode4 = 4, AddrMode5 = 5, AddrMode6 = 6, AddrModeT1_1 = 7,
  AddrModeT1_2 = 8, AddrModeT1_4 = 9, AddrModeT1_s = 10, AddrModeT2_i12 = 11,
  AddrModeT2_i8 = 12, AddrModeT2_so = 13, AddrModeT2_pc = 14, AddrModeT2_i8s4 = 15,
  AddrMode_i12 = 16
}
 ARM Addressing Modes. More...
enum  TOF {
  MO_NO_FLAG = 0, MO_LO16 = 0x1, MO_HI16 = 0x2, MO_PLT = 0x3,
  MO_OPTION_MASK = 0x3f, MO_DLLIMPORT = 0x40, MO_NONLAZY = 0x80, MO_UNUSED_MAXIMUM = 0xff
}
 Target Operand Flag enum. More...
enum  {
  AddrModeMask = 0x1f, IndexModeShift = 5, IndexModeMask = 3 << IndexModeShift, FormShift = 7,
  FormMask = 0x3f << FormShift, Pseudo = 0 << FormShift, MulFrm = 1 << FormShift, BrFrm = 2 << FormShift,
  BrMiscFrm = 3 << FormShift, DPFrm = 4 << FormShift, DPSoRegFrm = 5 << FormShift, LdFrm = 6 << FormShift,
  StFrm = 7 << FormShift, LdMiscFrm = 8 << FormShift, StMiscFrm = 9 << FormShift, LdStMulFrm = 10 << FormShift,
  LdStExFrm = 11 << FormShift, ArithMiscFrm = 12 << FormShift, SatFrm = 13 << FormShift, ExtFrm = 14 << FormShift,
  VFPUnaryFrm = 15 << FormShift, VFPBinaryFrm = 16 << FormShift, VFPConv1Frm = 17 << FormShift, VFPConv2Frm = 18 << FormShift,
  VFPConv3Frm = 19 << FormShift, VFPConv4Frm = 20 << FormShift, VFPConv5Frm = 21 << FormShift, VFPLdStFrm = 22 << FormShift,
  VFPLdStMulFrm = 23 << FormShift, VFPMiscFrm = 24 << FormShift, ThumbFrm = 25 << FormShift, MiscFrm = 26 << FormShift,
  NGetLnFrm = 27 << FormShift, NSetLnFrm = 28 << FormShift, NDupFrm = 29 << FormShift, NLdStFrm = 30 << FormShift,
  N1RegModImmFrm = 31 << FormShift, N2RegFrm = 32 << FormShift, NVCVTFrm = 33 << FormShift, NVDupLnFrm = 34 << FormShift,
  N2RegVShLFrm = 35 << FormShift, N2RegVShRFrm = 36 << FormShift, N3RegFrm = 37 << FormShift, N3RegVShFrm = 38 << FormShift,
  NVExtFrm = 39 << FormShift, NVMulSLFrm = 40 << FormShift, NVTBLFrm = 41 << FormShift, UnaryDP = 1 << 13,
  Xform16Bit = 1 << 14, ThumbArithFlagSetting = 1 << 18, DomainShift = 15, DomainMask = 7 << DomainShift,
  DomainGeneral = 0 << DomainShift, DomainVFP = 1 << DomainShift, DomainNEON = 2 << DomainShift, DomainNEONA8 = 4 << DomainShift,
  ShiftTypeShift = 4, M_BitShift = 5, ShiftImmShift = 5, ShiftShift = 7,
  N_BitShift = 7, ImmHiShift = 8, SoRotImmShift = 8, RegRsShift = 8,
  ExtRotImmShift = 10, RegRdLoShift = 12, RegRdShift = 12, RegRdHiShift = 16,
  RegRnShift = 16, S_BitShift = 20, W_BitShift = 21, AM3_I_BitShift = 22,
  D_BitShift = 22, U_BitShift = 23, P_BitShift = 24, I_BitShift = 25,
  CondShift = 28
}

Functions

static const char * AddrModeToString (AddrMode addrmode)

Detailed Description

ARMII - This namespace holds all of the target specific flags that instruction info tracks.


Enumeration Type Documentation

anonymous enum
Enumerator:
AddrModeMask 
IndexModeShift 
IndexModeMask 
FormShift 
FormMask 
Pseudo 
MulFrm 
BrFrm 
BrMiscFrm 
DPFrm 
DPSoRegFrm 
LdFrm 
StFrm 
LdMiscFrm 
StMiscFrm 
LdStMulFrm 
LdStExFrm 
ArithMiscFrm 
SatFrm 
ExtFrm 
VFPUnaryFrm 
VFPBinaryFrm 
VFPConv1Frm 
VFPConv2Frm 
VFPConv3Frm 
VFPConv4Frm 
VFPConv5Frm 
VFPLdStFrm 
VFPLdStMulFrm 
VFPMiscFrm 
ThumbFrm 
MiscFrm 
NGetLnFrm 
NSetLnFrm 
NDupFrm 
NLdStFrm 
N1RegModImmFrm 
N2RegFrm 
NVCVTFrm 
NVDupLnFrm 
N2RegVShLFrm 
N2RegVShRFrm 
N3RegFrm 
N3RegVShFrm 
NVExtFrm 
NVMulSLFrm 
NVTBLFrm 
UnaryDP 
Xform16Bit 
ThumbArithFlagSetting 
DomainShift 
DomainMask 
DomainGeneral 
DomainVFP 
DomainNEON 
DomainNEONA8 
ShiftTypeShift 
M_BitShift 
ShiftImmShift 
ShiftShift 
N_BitShift 
ImmHiShift 
SoRotImmShift 
RegRsShift 
ExtRotImmShift 
RegRdLoShift 
RegRdShift 
RegRdHiShift 
RegRnShift 
S_BitShift 
W_BitShift 
AM3_I_BitShift 
D_BitShift 
U_BitShift 
P_BitShift 
I_BitShift 
CondShift 

Definition at line 319 of file ARMBaseInfo.h.

ARM Addressing Modes.

Enumerator:
AddrModeNone 
AddrMode1 
AddrMode2 
AddrMode3 
AddrMode4 
AddrMode5 
AddrMode6 
AddrModeT1_1 
AddrModeT1_2 
AddrModeT1_4 
AddrModeT1_s 
AddrModeT2_i12 
AddrModeT2_i8 
AddrModeT2_so 
AddrModeT2_pc 
AddrModeT2_i8s4 
AddrMode_i12 

Definition at line 235 of file ARMBaseInfo.h.

ARM Index Modes.

Enumerator:
IndexModeNone 
IndexModePre 
IndexModePost 
IndexModeUpd 

Definition at line 227 of file ARMBaseInfo.h.

Target Operand Flag enum.

Enumerator:
MO_NO_FLAG 
MO_LO16 

MO_LO16 - On a symbol operand, this represents a relocation containing lower 16 bit of the address. Used only via movw instruction.

MO_HI16 

MO_HI16 - On a symbol operand, this represents a relocation containing higher 16 bit of the address. Used only via movt instruction.

MO_PLT 

MO_PLT - On a symbol operand, this represents an ELF PLT reference on a call operand.

MO_OPTION_MASK 

MO_OPTION_MASK - Most flags are mutually exclusive; this mask selects just that part of the flag set.

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_NONLAZY 

MO_NONLAZY - This is an independent flag, on a symbol operand "FOO" it represents a symbol which, if indirect, will get special Darwin mangling as a non-lazy-ptr indirect symbol (i.e. "L_FOO$non_lazy_ptr"). Can be combined with MO_LO16, MO_HI16 or MO_NO_FLAG (in a constant-pool, for example).

MO_UNUSED_MAXIMUM 

Definition at line 278 of file ARMBaseInfo.h.


Function Documentation

static const char* llvm::ARMII::AddrModeToString ( AddrMode  addrmode) [inline, static]