LLVM  6.0.0svn
Namespaces | Enumerations | Functions | Variables
HexagonBaseInfo.h File Reference
#include "HexagonDepITypes.h"
#include "MCTargetDesc/HexagonMCTargetDesc.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::SubTarget { llvm::HexagonII::HasV4SubT = 0x3f, llvm::HexagonII::HasV5SubT = 0x3e, llvm::HexagonII::HasV55SubT = 0x3c, llvm::HexagonII::HasV60SubT = 0x38 }
 
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::NoMemAccess = 0, llvm::HexagonII::ByteAccess, llvm::HexagonII::HalfWordAccess, llvm::HexagonII::WordAccess,
  llvm::HexagonII::DoubleWordAccess, llvm::HexagonII::HVXVectorAccess
}
 
enum  {
  llvm::HexagonII::TypePos = 0, llvm::HexagonII::TypeMask = 0x3f, llvm::HexagonII::SoloPos = 6, llvm::HexagonII::SoloMask = 0x1,
  llvm::HexagonII::SoloAXPos = 7, llvm::HexagonII::SoloAXMask = 0x1, llvm::HexagonII::SoloAin1Pos = 8, llvm::HexagonII::SoloAin1Mask = 0x1,
  llvm::HexagonII::PredicatedPos = 9, llvm::HexagonII::PredicatedMask = 0x1, llvm::HexagonII::PredicatedFalsePos = 10, llvm::HexagonII::PredicatedFalseMask = 0x1,
  llvm::HexagonII::PredicatedNewPos = 11, llvm::HexagonII::PredicatedNewMask = 0x1, llvm::HexagonII::PredicateLatePos = 12, llvm::HexagonII::PredicateLateMask = 0x1,
  llvm::HexagonII::NewValuePos = 13, llvm::HexagonII::NewValueMask = 0x1, llvm::HexagonII::hasNewValuePos = 14, llvm::HexagonII::hasNewValueMask = 0x1,
  llvm::HexagonII::NewValueOpPos = 15, llvm::HexagonII::NewValueOpMask = 0x7, llvm::HexagonII::mayNVStorePos = 18, llvm::HexagonII::mayNVStoreMask = 0x1,
  llvm::HexagonII::NVStorePos = 19, llvm::HexagonII::NVStoreMask = 0x1, llvm::HexagonII::mayCVLoadPos = 20, llvm::HexagonII::mayCVLoadMask = 0x1,
  llvm::HexagonII::CVLoadPos = 21, llvm::HexagonII::CVLoadMask = 0x1, llvm::HexagonII::ExtendablePos = 22, llvm::HexagonII::ExtendableMask = 0x1,
  llvm::HexagonII::ExtendedPos = 23, llvm::HexagonII::ExtendedMask = 0x1, llvm::HexagonII::ExtendableOpPos = 24, llvm::HexagonII::ExtendableOpMask = 0x7,
  llvm::HexagonII::ExtentSignedPos = 27, llvm::HexagonII::ExtentSignedMask = 0x1, llvm::HexagonII::ExtentBitsPos = 28, llvm::HexagonII::ExtentBitsMask = 0x1f,
  llvm::HexagonII::ExtentAlignPos = 33, llvm::HexagonII::ExtentAlignMask = 0x3, llvm::HexagonII::AddrModePos = 41, llvm::HexagonII::AddrModeMask = 0x7,
  llvm::HexagonII::MemAccessSizePos = 44, llvm::HexagonII::MemAccesSizeMask = 0xf, llvm::HexagonII::TakenPos = 48, llvm::HexagonII::TakenMask = 0x1,
  llvm::HexagonII::FPPos = 49, llvm::HexagonII::FPMask = 0x1, llvm::HexagonII::hasNewValuePos2 = 51, llvm::HexagonII::hasNewValueMask2 = 0x1,
  llvm::HexagonII::NewValueOpPos2 = 52, llvm::HexagonII::NewValueOpMask2 = 0x7, llvm::HexagonII::AccumulatorPos = 55, llvm::HexagonII::AccumulatorMask = 0x1,
  llvm::HexagonII::PrefersSlot3Pos = 56, llvm::HexagonII::PrefersSlot3Mask = 0x1, llvm::HexagonII::CofMax1Pos = 60, llvm::HexagonII::CofMax1Mask = 0x1,
  llvm::HexagonII::CVINewPos = 61, llvm::HexagonII::CVINewMask = 0x1
}
 
enum  llvm::HexagonII::HexagonMOTargetFlagVal {
  llvm::HexagonII::MO_NO_FLAG, 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, llvm::HexagonII::HMOTF_ConstExtended = 0x80,
  llvm::HexagonII::MO_Bitmasks = HMOTF_ConstExtended
}
 
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
}
 

Functions

static LLVM_ATTRIBUTE_UNUSED unsigned llvm::HexagonII::getMemAccessSizeInBytes (MemAccessSize S)
 

Variables

unsigned const llvm::HexagonII::TypeCVI_FIRST = TypeCVI_HIST
 
unsigned const llvm::HexagonII::TypeCVI_LAST = TypeCVI_VX_LATE