LLVM  6.0.0svn
Namespaces | Macros | Enumerations | Functions
TargetParser.h File Reference
#include "llvm/ADT/Triple.h"
#include <vector>
#include "ARMTargetParser.def"
#include "AArch64TargetParser.def"
Include dependency graph for TargetParser.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::ARM
 Define some predicates that are used for node matching.
 
 llvm::AArch64
 

Macros

#define ARM_FPU(NAME, KIND, VERSION, NEON_SUPPORT, RESTRICTION)   KIND,
 
#define ARM_ARCH(NAME, ID, CPU_ATTR, SUB_ARCH, ARCH_ATTR, ARCH_FPU, ARCH_BASE_EXT)   ID,
 
#define AARCH64_ARCH(NAME, ID, CPU_ATTR, SUB_ARCH, ARCH_ATTR, ARCH_FPU, ARCH_BASE_EXT)   ID,
 

Enumerations

enum  llvm::ARM::FPUVersion {
  llvm::ARM::FPUVersion::NONE, llvm::ARM::FPUVersion::VFPV2, llvm::ARM::FPUVersion::VFPV3, llvm::ARM::FPUVersion::VFPV3_FP16,
  llvm::ARM::FPUVersion::VFPV4, llvm::ARM::FPUVersion::VFPV5
}
 
enum  llvm::ARM::FPURestriction { llvm::ARM::FPURestriction::None = 0, llvm::ARM::FPURestriction::D16, llvm::ARM::FPURestriction::SP_D16 }
 
enum  llvm::ARM::NeonSupportLevel { llvm::ARM::NeonSupportLevel::None = 0, llvm::ARM::NeonSupportLevel::Neon, llvm::ARM::NeonSupportLevel::Crypto }
 
enum  llvm::ARM::FPUKind { llvm::ARM::ARM_FPU, llvm::ARM::ARM_FPU }
 
enum  llvm::ARM::ArchKind { llvm::ARM::ArchKind::ARM_ARCH, llvm::ARM::ArchKind::ARM_FPU, llvm::ARM::ArchKind::ARM_FPU }
 
enum  llvm::ARM::ArchExtKind : unsigned {
  llvm::ARM::AEK_INVALID = 0, llvm::ARM::AEK_NONE = 1, llvm::ARM::AEK_CRC = 1 << 1, llvm::ARM::AEK_CRYPTO = 1 << 2,
  llvm::ARM::AEK_FP = 1 << 3, llvm::ARM::AEK_HWDIVTHUMB = 1 << 4, llvm::ARM::AEK_HWDIVARM = 1 << 5, llvm::ARM::AEK_MP = 1 << 6,
  llvm::ARM::AEK_SIMD = 1 << 7, llvm::ARM::AEK_SEC = 1 << 8, llvm::ARM::AEK_VIRT = 1 << 9, llvm::ARM::AEK_DSP = 1 << 10,
  llvm::ARM::AEK_FP16 = 1 << 11, llvm::ARM::AEK_RAS = 1 << 12, llvm::ARM::AEK_SVE = 1 << 13, llvm::ARM::AEK_DOTPROD = 1 << 14,
  llvm::ARM::AEK_OS = 0x8000000, llvm::ARM::AEK_IWMMXT = 0x10000000, llvm::ARM::AEK_IWMMXT2 = 0x20000000, llvm::ARM::AEK_MAVERICK = 0x40000000,
  llvm::ARM::AEK_XSCALE = 0x80000000
}
 
enum  llvm::ARM::ISAKind { llvm::ARM::ISAKind::INVALID = 0, llvm::ARM::ISAKind::ARM, llvm::ARM::ISAKind::THUMB, llvm::ARM::ISAKind::AARCH64 }
 
enum  llvm::ARM::EndianKind { llvm::ARM::EndianKind::INVALID = 0, llvm::ARM::EndianKind::LITTLE, llvm::ARM::EndianKind::BIG }
 
enum  llvm::ARM::ProfileKind { llvm::ARM::ProfileKind::INVALID = 0, llvm::ARM::ProfileKind::A, llvm::ARM::ProfileKind::R, llvm::ARM::ProfileKind::M }
 
enum  llvm::AArch64::ArchKind { llvm::AArch64::ArchKind::AARCH64_ARCH, llvm::AArch64::ArchKind::AARCH64_ARCH }
 
enum  llvm::AArch64::ArchExtKind : unsigned {
  llvm::AArch64::AEK_INVALID = 0, llvm::AArch64::AEK_NONE = 1, llvm::AArch64::AEK_CRC = 1 << 1, llvm::AArch64::AEK_CRYPTO = 1 << 2,
  llvm::AArch64::AEK_FP = 1 << 3, llvm::AArch64::AEK_SIMD = 1 << 4, llvm::AArch64::AEK_FP16 = 1 << 5, llvm::AArch64::AEK_PROFILE = 1 << 6,
  llvm::AArch64::AEK_RAS = 1 << 7, llvm::AArch64::AEK_LSE = 1 << 8, llvm::AArch64::AEK_RDM = 1 << 9, llvm::AArch64::AEK_SVE = 1 << 10,
  llvm::AArch64::AEK_DOTPROD = 1 << 11, llvm::AArch64::AEK_RCPC = 1 << 12
}
 

Functions

StringRef llvm::ARM::getCanonicalArchName (StringRef Arch)
 
StringRef llvm::ARM::getFPUName (unsigned FPUKind)
 
FPUVersion llvm::ARM::getFPUVersion (unsigned FPUKind)
 
NeonSupportLevel llvm::ARM::getFPUNeonSupportLevel (unsigned FPUKind)
 
FPURestriction llvm::ARM::getFPURestriction (unsigned FPUKind)
 
bool llvm::ARM::getFPUFeatures (unsigned FPUKind, std::vector< StringRef > &Features)
 
bool llvm::ARM::getHWDivFeatures (unsigned HWDivKind, std::vector< StringRef > &Features)
 
bool llvm::ARM::getExtensionFeatures (unsigned Extensions, std::vector< StringRef > &Features)
 
StringRef llvm::ARM::getArchName (ArchKind AK)
 
unsigned llvm::ARM::getArchAttr (ArchKind AK)
 
StringRef llvm::ARM::getCPUAttr (ArchKind AK)
 
StringRef llvm::ARM::getSubArch (ArchKind AK)
 
StringRef llvm::ARM::getArchExtName (unsigned ArchExtKind)
 
StringRef llvm::ARM::getArchExtFeature (StringRef ArchExt)
 
StringRef llvm::ARM::getHWDivName (unsigned HWDivKind)
 
unsigned llvm::ARM::getDefaultFPU (StringRef CPU, ArchKind AK)
 
unsigned llvm::ARM::getDefaultExtensions (StringRef CPU, ArchKind AK)
 
StringRef llvm::ARM::getDefaultCPU (StringRef Arch)
 
unsigned llvm::ARM::parseHWDiv (StringRef HWDiv)
 
unsigned llvm::ARM::parseFPU (StringRef FPU)
 
ArchKind llvm::ARM::parseArch (StringRef Arch)
 
unsigned llvm::ARM::parseArchExt (StringRef ArchExt)
 
ArchKind llvm::ARM::parseCPUArch (StringRef CPU)
 
ISAKind llvm::ARM::parseArchISA (StringRef Arch)
 
EndianKind llvm::ARM::parseArchEndian (StringRef Arch)
 
ProfileKind llvm::ARM::parseArchProfile (StringRef Arch)
 
unsigned llvm::ARM::parseArchVersion (StringRef Arch)
 
StringRef llvm::ARM::computeDefaultTargetABI (const Triple &TT, StringRef CPU)
 
StringRef llvm::AArch64::getCanonicalArchName (StringRef Arch)
 
StringRef llvm::AArch64::getFPUName (unsigned FPUKind)
 
ARM::FPUVersion llvm::AArch64::getFPUVersion (unsigned FPUKind)
 
ARM::NeonSupportLevel llvm::AArch64::getFPUNeonSupportLevel (unsigned FPUKind)
 
ARM::FPURestriction llvm::AArch64::getFPURestriction (unsigned FPUKind)
 
bool llvm::AArch64::getFPUFeatures (unsigned FPUKind, std::vector< StringRef > &Features)
 
bool llvm::AArch64::getExtensionFeatures (unsigned Extensions, std::vector< StringRef > &Features)
 
bool llvm::AArch64::getArchFeatures (ArchKind AK, std::vector< StringRef > &Features)
 
StringRef llvm::AArch64::getArchName (ArchKind AK)
 
unsigned llvm::AArch64::getArchAttr (ArchKind AK)
 
StringRef llvm::AArch64::getCPUAttr (ArchKind AK)
 
StringRef llvm::AArch64::getSubArch (ArchKind AK)
 
StringRef llvm::AArch64::getArchExtName (unsigned ArchExtKind)
 
StringRef llvm::AArch64::getArchExtFeature (StringRef ArchExt)
 
unsigned llvm::AArch64::checkArchVersion (StringRef Arch)
 
unsigned llvm::AArch64::getDefaultFPU (StringRef CPU, ArchKind AK)
 
unsigned llvm::AArch64::getDefaultExtensions (StringRef CPU, ArchKind AK)
 
StringRef llvm::AArch64::getDefaultCPU (StringRef Arch)
 
unsigned llvm::AArch64::parseFPU (StringRef FPU)
 
AArch64::ArchKind llvm::AArch64::parseArch (StringRef Arch)
 
unsigned llvm::AArch64::parseArchExt (StringRef ArchExt)
 
ArchKind llvm::AArch64::parseCPUArch (StringRef CPU)
 
ARM::ISAKind llvm::AArch64::parseArchISA (StringRef Arch)
 
ARM::EndianKind llvm::AArch64::parseArchEndian (StringRef Arch)
 
ARM::ProfileKind llvm::AArch64::parseArchProfile (StringRef Arch)
 
unsigned llvm::AArch64::parseArchVersion (StringRef Arch)
 

Macro Definition Documentation

◆ AARCH64_ARCH

#define AARCH64_ARCH (   NAME,
  ID,
  CPU_ATTR,
  SUB_ARCH,
  ARCH_ATTR,
  ARCH_FPU,
  ARCH_BASE_EXT 
)    ID,

Definition at line 154 of file TargetParser.h.

◆ ARM_ARCH

#define ARM_ARCH (   NAME,
  ID,
  CPU_ATTR,
  SUB_ARCH,
  ARCH_ATTR,
  ARCH_FPU,
  ARCH_BASE_EXT 
)    ID,

Definition at line 67 of file TargetParser.h.

◆ ARM_FPU

#define ARM_FPU (   NAME,
  KIND,
  VERSION,
  NEON_SUPPORT,
  RESTRICTION 
)    KIND,

Definition at line 85 of file TargetParser.h.