LLVM  4.0.0
Namespaces | Enumerations
HexagonBaseInfo.h File Reference
#include "HexagonMCTargetDesc.h"
#include "llvm/Support/ErrorHandling.h"
#include <stdint.h>
Include dependency graph for HexagonBaseInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::HexagonII
 HexagonII - This namespace holds all of the target specific flags that instruction info tracks.
 

Enumerations

enum  llvm::HexagonII::Type {
  llvm::HexagonII::TypePSEUDO = 0, llvm::HexagonII::TypeALU32 = 1, llvm::HexagonII::TypeCR = 2, llvm::HexagonII::TypeJR = 3,
  llvm::HexagonII::TypeJ = 4, llvm::HexagonII::TypeLD = 5, llvm::HexagonII::TypeST = 6, llvm::HexagonII::TypeSYSTEM = 7,
  llvm::HexagonII::TypeXTYPE = 8, llvm::HexagonII::TypeV4LDST = 9, llvm::HexagonII::TypeNV = 10, llvm::HexagonII::TypeDUPLEX = 11,
  llvm::HexagonII::TypeCOMPOUND = 12, llvm::HexagonII::TypeCVI_FIRST = 13, llvm::HexagonII::TypeCVI_VA = TypeCVI_FIRST, llvm::HexagonII::TypeCVI_VA_DV = 14,
  llvm::HexagonII::TypeCVI_VX = 15, llvm::HexagonII::TypeCVI_VX_DV = 16, llvm::HexagonII::TypeCVI_VP = 17, llvm::HexagonII::TypeCVI_VP_VS = 18,
  llvm::HexagonII::TypeCVI_VS = 19, llvm::HexagonII::TypeCVI_VINLANESAT = 20, llvm::HexagonII::TypeCVI_VM_LD = 21, llvm::HexagonII::TypeCVI_VM_TMP_LD = 22,
  llvm::HexagonII::TypeCVI_VM_CUR_LD = 23, llvm::HexagonII::TypeCVI_VM_VP_LDU = 24, llvm::HexagonII::TypeCVI_VM_ST = 25, llvm::HexagonII::TypeCVI_VM_NEW_ST = 26,
  llvm::HexagonII::TypeCVI_VM_STU = 27, llvm::HexagonII::TypeCVI_HIST = 28, llvm::HexagonII::TypeCVI_LAST = TypeCVI_HIST, llvm::HexagonII::TypePREFIX = 30,
  llvm::HexagonII::TypeENDLOOP = 31
}
 
enum  llvm::HexagonII::SubTarget {
  llvm::HexagonII::HasV2SubT = 0xf, llvm::HexagonII::HasV2SubTOnly = 0x1, llvm::HexagonII::NoV2SubT = 0x0, llvm::HexagonII::HasV3SubT = 0xe,
  llvm::HexagonII::HasV3SubTOnly = 0x2, llvm::HexagonII::NoV3SubT = 0x1, llvm::HexagonII::HasV4SubT = 0xc, llvm::HexagonII::NoV4SubT = 0x3,
  llvm::HexagonII::HasV5SubT = 0x8, llvm::HexagonII::NoV5SubT = 0x7
}
 
enum  llvm::HexagonII::AddrMode {
  llvm::HexagonII::NoAddrMode = 0, llvm::HexagonII::Absolute = 1, llvm::HexagonII::AbsoluteSet = 2, llvm::HexagonII::BaseImmOffset = 3,
  llvm::HexagonII::BaseLongOffset = 4, llvm::HexagonII::BaseRegOffset = 5, llvm::HexagonII::PostInc = 6
}
 
enum  llvm::HexagonII::MemAccessSize {
  llvm::HexagonII::MemAccessSize::NoMemAccess = 0, llvm::HexagonII::MemAccessSize::ByteAccess = 1, llvm::HexagonII::MemAccessSize::HalfWordAccess = 2, llvm::HexagonII::MemAccessSize::WordAccess = 3,
  llvm::HexagonII::MemAccessSize::DoubleWordAccess = 4, llvm::HexagonII::MemAccessSize::Vector64Access = 7, llvm::HexagonII::MemAccessSize::Vector128Access = 8
}
 
enum  {
  llvm::HexagonII::TypePos = 0, llvm::HexagonII::TypeMask = 0x1f, llvm::HexagonII::SoloPos = 5, llvm::HexagonII::SoloMask = 0x1,
  llvm::HexagonII::SoloAXPos = 6, llvm::HexagonII::SoloAXMask = 0x1, llvm::HexagonII::SoloAin1Pos = 7, llvm::HexagonII::SoloAin1Mask = 0x1,
  llvm::HexagonII::PredicatedPos = 8, llvm::HexagonII::PredicatedMask = 0x1, llvm::HexagonII::PredicatedFalsePos = 9, llvm::HexagonII::PredicatedFalseMask = 0x1,
  llvm::HexagonII::PredicatedNewPos = 10, llvm::HexagonII::PredicatedNewMask = 0x1, llvm::HexagonII::PredicateLatePos = 11, llvm::HexagonII::PredicateLateMask = 0x1,
  llvm::HexagonII::NewValuePos = 12, llvm::HexagonII::NewValueMask = 0x1, llvm::HexagonII::hasNewValuePos = 13, llvm::HexagonII::hasNewValueMask = 0x1,
  llvm::HexagonII::NewValueOpPos = 14, llvm::HexagonII::NewValueOpMask = 0x7, llvm::HexagonII::mayNVStorePos = 17, llvm::HexagonII::mayNVStoreMask = 0x1,
  llvm::HexagonII::NVStorePos = 18, llvm::HexagonII::NVStoreMask = 0x1, llvm::HexagonII::mayCVLoadPos = 19, llvm::HexagonII::mayCVLoadMask = 0x1,
  llvm::HexagonII::CVLoadPos = 20, llvm::HexagonII::CVLoadMask = 0x1, llvm::HexagonII::ExtendablePos = 21, llvm::HexagonII::ExtendableMask = 0x1,
  llvm::HexagonII::ExtendedPos = 22, llvm::HexagonII::ExtendedMask = 0x1, llvm::HexagonII::ExtendableOpPos = 23, llvm::HexagonII::ExtendableOpMask = 0x7,
  llvm::HexagonII::ExtentSignedPos = 26, llvm::HexagonII::ExtentSignedMask = 0x1, llvm::HexagonII::ExtentBitsPos = 27, llvm::HexagonII::ExtentBitsMask = 0x1f,
  llvm::HexagonII::ExtentAlignPos = 32, llvm::HexagonII::ExtentAlignMask = 0x3, llvm::HexagonII::validSubTargetPos = 34, llvm::HexagonII::validSubTargetMask = 0xf,
  llvm::HexagonII::AddrModePos = 40, llvm::HexagonII::AddrModeMask = 0x7, llvm::HexagonII::MemAccessSizePos = 43, llvm::HexagonII::MemAccesSizeMask = 0xf,
  llvm::HexagonII::TakenPos = 47, llvm::HexagonII::TakenMask = 0x1, llvm::HexagonII::FPPos = 48, llvm::HexagonII::FPMask = 0x1,
  llvm::HexagonII::hasNewValuePos2 = 50, llvm::HexagonII::hasNewValueMask2 = 0x1, llvm::HexagonII::NewValueOpPos2 = 51, llvm::HexagonII::NewValueOpMask2 = 0x7,
  llvm::HexagonII::AccumulatorPos = 54, llvm::HexagonII::AccumulatorMask = 0x1, llvm::HexagonII::PrefersSlot3Pos = 55, llvm::HexagonII::PrefersSlot3Mask = 0x1,
  llvm::HexagonII::CofMax1Pos = 60, llvm::HexagonII::CofMax1Mask = 0x1
}
 
enum  llvm::HexagonII::HexagonMOTargetFlagVal {
  llvm::HexagonII::MO_NO_FLAG, llvm::HexagonII::HMOTF_ConstExtended = 1, llvm::HexagonII::MO_PCREL, llvm::HexagonII::MO_GOT,
  llvm::HexagonII::MO_LO16, llvm::HexagonII::MO_HI16, llvm::HexagonII::MO_GPREL, llvm::HexagonII::MO_GDGOT,
  llvm::HexagonII::MO_GDPLT, llvm::HexagonII::MO_IE, llvm::HexagonII::MO_IEGOT, llvm::HexagonII::MO_TPREL
}
 
enum  llvm::HexagonII::SubInstructionGroup {
  llvm::HexagonII::HSIG_None = 0, llvm::HexagonII::HSIG_L1, llvm::HexagonII::HSIG_L2, llvm::HexagonII::HSIG_S1,
  llvm::HexagonII::HSIG_S2, llvm::HexagonII::HSIG_A, llvm::HexagonII::HSIG_Compound
}
 
enum  llvm::HexagonII::CompoundGroup { llvm::HexagonII::HCG_None = 0, llvm::HexagonII::HCG_A, llvm::HexagonII::HCG_B, llvm::HexagonII::HCG_C }
 
enum  llvm::HexagonII::InstParseBits {
  llvm::HexagonII::INST_PARSE_MASK = 0x0000c000, llvm::HexagonII::INST_PARSE_PACKET_END = 0x0000c000, llvm::HexagonII::INST_PARSE_LOOP_END = 0x00008000, llvm::HexagonII::INST_PARSE_NOT_END = 0x00004000,
  llvm::HexagonII::INST_PARSE_DUPLEX = 0x00000000, llvm::HexagonII::INST_PARSE_EXTENDER = 0x00000000
}
 
enum  llvm::HexagonII::InstIClassBits : unsigned {
  llvm::HexagonII::INST_ICLASS_MASK = 0xf0000000, llvm::HexagonII::INST_ICLASS_EXTENDER = 0x00000000, llvm::HexagonII::INST_ICLASS_J_1 = 0x10000000, llvm::HexagonII::INST_ICLASS_J_2 = 0x20000000,
  llvm::HexagonII::INST_ICLASS_LD_ST_1 = 0x30000000, llvm::HexagonII::INST_ICLASS_LD_ST_2 = 0x40000000, llvm::HexagonII::INST_ICLASS_J_3 = 0x50000000, llvm::HexagonII::INST_ICLASS_CR = 0x60000000,
  llvm::HexagonII::INST_ICLASS_ALU32_1 = 0x70000000, llvm::HexagonII::INST_ICLASS_XTYPE_1 = 0x80000000, llvm::HexagonII::INST_ICLASS_LD = 0x90000000, llvm::HexagonII::INST_ICLASS_ST = 0xa0000000,
  llvm::HexagonII::INST_ICLASS_ALU32_2 = 0xb0000000, llvm::HexagonII::INST_ICLASS_XTYPE_2 = 0xc0000000, llvm::HexagonII::INST_ICLASS_XTYPE_3 = 0xd0000000, llvm::HexagonII::INST_ICLASS_XTYPE_4 = 0xe0000000,
  llvm::HexagonII::INST_ICLASS_ALU32_3 = 0xf0000000
}