LLVM API Documentation

Enumerations
llvm::HexagonII Namespace Reference

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, 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 {
  NoMemAccess = 0, ByteAccess = 1, HalfWordAccess = 2, WordAccess = 3,
  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
}

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 82 of file HexagonBaseInfo.h.

Enumerator:
NoAddrMode 
Absolute 
AbsoluteSet 
BaseImmOffset 
BaseLongOffset 
BaseRegOffset 
PostInc 

Definition at line 62 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 171 of file HexagonBaseInfo.h.

Enumerator:
NoMemAccess 
ByteAccess 
HalfWordAccess 
WordAccess 
DoubleWordAccess 

Definition at line 72 of file HexagonBaseInfo.h.

Enumerator:
HasV2SubT 
HasV2SubTOnly 
NoV2SubT 
HasV3SubT 
HasV3SubTOnly 
NoV3SubT 
HasV4SubT 
NoV4SubT 
HasV5SubT 
NoV5SubT 

Definition at line 49 of file HexagonBaseInfo.h.

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

Definition at line 33 of file HexagonBaseInfo.h.