LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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, MO_LO16, MO_HI16, MO_LO16_NONLAZY,
  MO_HI16_NONLAZY, MO_LO16_NONLAZY_PIC, MO_HI16_NONLAZY_PIC, MO_PLT
}
 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 234 of file ARMBaseInfo.h.

ARM Index Modes.

Enumerator
IndexModeNone 
IndexModePre 
IndexModePost 
IndexModeUpd 

Definition at line 226 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_LO16_NONLAZY 

MO_LO16_NONLAZY - On a symbol operand "FOO", this represents a relocation containing lower 16 bit of the non-lazy-ptr indirect symbol, i.e. "FOO$non_lazy_ptr". Used only via movw instruction.

MO_HI16_NONLAZY 

MO_HI16_NONLAZY - On a symbol operand "FOO", this represents a relocation containing lower 16 bit of the non-lazy-ptr indirect symbol, i.e. "FOO$non_lazy_ptr". Used only via movt instruction.

MO_LO16_NONLAZY_PIC 

MO_LO16_NONLAZY_PIC - On a symbol operand "FOO", this represents a relocation containing lower 16 bit of the PC relative address of the non-lazy-ptr indirect symbol, i.e. "FOO$non_lazy_ptr - LABEL". Used only via movw instruction.

MO_HI16_NONLAZY_PIC 

MO_HI16_NONLAZY_PIC - On a symbol operand "FOO", this represents a relocation containing lower 16 bit of the PC relative address of the non-lazy-ptr indirect symbol, i.e. "FOO$non_lazy_ptr - LABEL". Used only via movt instruction.

MO_PLT 

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

Definition at line 277 of file ARMBaseInfo.h.

Function Documentation

static const char* llvm::ARMII::AddrModeToString ( AddrMode  addrmode)
inlinestatic