LLVM  3.7.0
Enumerations
llvm::HexagonII Namespace Reference

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

Enumerations

enum  Type {
  TypePSEUDO = 0, TypeALU32 = 1, TypeCR = 2, TypeJR = 3,
  TypeJ = 4, TypeLD = 5, TypeST = 6, TypeSYSTEM = 7,
  TypeXTYPE = 8, TypeMEMOP = 9, TypeNV = 10, TypeDUPLEX = 11,
  TypePREFIX = 30, TypeENDLOOP = 31
}
 
enum  SubTarget {
  HasV2SubT = 0xf, HasV2SubTOnly = 0x1, NoV2SubT = 0x0, HasV3SubT = 0xe,
  HasV3SubTOnly = 0x2, NoV3SubT = 0x1, HasV4SubT = 0xc, NoV4SubT = 0x3,
  HasV5SubT = 0x8, NoV5SubT = 0x7
}
 
enum  AddrMode {
  NoAddrMode = 0, Absolute = 1, AbsoluteSet = 2, BaseImmOffset = 3,
  BaseLongOffset = 4, BaseRegOffset = 5, PostInc = 6
}
 
enum  MemAccessSize {
  MemAccessSize::NoMemAccess = 0, MemAccessSize::ByteAccess = 1, MemAccessSize::HalfWordAccess = 2, MemAccessSize::WordAccess = 3,
  MemAccessSize::DoubleWordAccess = 4
}
 
enum  {
  TypePos = 0, TypeMask = 0x1f, SoloPos = 5, SoloMask = 0x1,
  SoloAXPos = 6, SoloAXMask = 0x1, SoloAin1Pos = 7, SoloAin1Mask = 0x1,
  PredicatedPos = 8, PredicatedMask = 0x1, PredicatedFalsePos = 9, PredicatedFalseMask = 0x1,
  PredicatedNewPos = 10, PredicatedNewMask = 0x1, PredicateLatePos = 11, PredicateLateMask = 0x1,
  NewValuePos = 12, NewValueMask = 0x1, hasNewValuePos = 13, hasNewValueMask = 0x1,
  NewValueOpPos = 14, NewValueOpMask = 0x7, mayNVStorePos = 17, mayNVStoreMask = 0x1,
  NVStorePos = 18, NVStoreMask = 0x1, mayCVLoadPos = 19, mayCVLoadMask = 0x1,
  CVLoadPos = 20, CVLoadMask = 0x1, ExtendablePos = 21, ExtendableMask = 0x1,
  ExtendedPos = 22, ExtendedMask = 0x1, ExtendableOpPos = 23, ExtendableOpMask = 0x7,
  ExtentSignedPos = 26, ExtentSignedMask = 0x1, ExtentBitsPos = 27, ExtentBitsMask = 0x1f,
  ExtentAlignPos = 32, ExtentAlignMask = 0x3, validSubTargetPos = 34, validSubTargetMask = 0xf,
  AddrModePos = 40, AddrModeMask = 0x7, MemAccessSizePos = 43, MemAccesSizeMask = 0x7,
  TakenPos = 47, TakenMask = 0x1, FPPos = 48, FPMask = 0x1
}
 
enum  HexagonMOTargetFlagVal {
  MO_NO_FLAG, HMOTF_ConstExtended = 1, MO_PCREL, MO_GOT,
  MO_LO16, MO_HI16, MO_GPREL
}
 
enum  SubInstructionGroup {
  HSIG_None = 0, HSIG_L1, HSIG_L2, HSIG_S1,
  HSIG_S2, HSIG_A, HSIG_Compound
}
 
enum  CompoundGroup { HCG_None = 0, HCG_A, HCG_B, HCG_C }
 
enum  InstParseBits {
  INST_PARSE_MASK = 0x0000c000, INST_PARSE_PACKET_END = 0x0000c000, INST_PARSE_LOOP_END = 0x00008000, INST_PARSE_NOT_END = 0x00004000,
  INST_PARSE_DUPLEX = 0x00000000, INST_PARSE_EXTENDER = 0x00000000
}
 

Detailed Description

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

Enumeration Type Documentation

anonymous enum
Enumerator
TypePos 
TypeMask 
SoloPos 
SoloMask 
SoloAXPos 
SoloAXMask 
SoloAin1Pos 
SoloAin1Mask 
PredicatedPos 
PredicatedMask 
PredicatedFalsePos 
PredicatedFalseMask 
PredicatedNewPos 
PredicatedNewMask 
PredicateLatePos 
PredicateLateMask 
NewValuePos 
NewValueMask 
hasNewValuePos 
hasNewValueMask 
NewValueOpPos 
NewValueOpMask 
mayNVStorePos 
mayNVStoreMask 
NVStorePos 
NVStoreMask 
mayCVLoadPos 
mayCVLoadMask 
CVLoadPos 
CVLoadMask 
ExtendablePos 
ExtendableMask 
ExtendedPos 
ExtendedMask 
ExtendableOpPos 
ExtendableOpMask 
ExtentSignedPos 
ExtentSignedMask 
ExtentBitsPos 
ExtentBitsMask 
ExtentAlignPos 
ExtentAlignMask 
validSubTargetPos 
validSubTargetMask 
AddrModePos 
AddrModeMask 
MemAccessSizePos 
MemAccesSizeMask 
TakenPos 
TakenMask 
FPPos 
FPMask 

Definition at line 84 of file HexagonBaseInfo.h.

Enumerator
NoAddrMode 
Absolute 
AbsoluteSet 
BaseImmOffset 
BaseLongOffset 
BaseRegOffset 
PostInc 

Definition at line 64 of file HexagonBaseInfo.h.

Enumerator
HCG_None 
HCG_A 
HCG_B 
HCG_C 

Definition at line 206 of file HexagonBaseInfo.h.

Enumerator
MO_NO_FLAG 
HMOTF_ConstExtended 
MO_PCREL 

MO_PCREL - On a symbol operand, indicates a PC-relative relocation Used for computing a global address for PIC compilations.

MO_GOT 

MO_GOT - Indicates a GOT-relative relocation.

MO_LO16 
MO_HI16 
MO_GPREL 

Definition at line 173 of file HexagonBaseInfo.h.

Enumerator
INST_PARSE_MASK 
INST_PARSE_PACKET_END 
INST_PARSE_LOOP_END 
INST_PARSE_NOT_END 
INST_PARSE_DUPLEX 
INST_PARSE_EXTENDER 

Definition at line 213 of file HexagonBaseInfo.h.

Enumerator
NoMemAccess 
ByteAccess 
HalfWordAccess 
WordAccess 
DoubleWordAccess 

Definition at line 74 of file HexagonBaseInfo.h.

Enumerator
HSIG_None 
HSIG_L1 
HSIG_L2 
HSIG_S1 
HSIG_S2 
HSIG_A 
HSIG_Compound 

Definition at line 195 of file HexagonBaseInfo.h.

Enumerator
HasV2SubT 
HasV2SubTOnly 
NoV2SubT 
HasV3SubT 
HasV3SubTOnly 
NoV3SubT 
HasV4SubT 
NoV4SubT 
HasV5SubT 
NoV5SubT 

Definition at line 51 of file HexagonBaseInfo.h.

Enumerator
TypePSEUDO 
TypeALU32 
TypeCR 
TypeJR 
TypeJ 
TypeLD 
TypeST 
TypeSYSTEM 
TypeXTYPE 
TypeMEMOP 
TypeNV 
TypeDUPLEX 
TypePREFIX 
TypeENDLOOP 

Definition at line 34 of file HexagonBaseInfo.h.