LLVM  10.0.0svn
Namespaces | Macros | Enumerations | Functions | Variables
AArch64TargetParser.h File Reference
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Support/ARMTargetParser.h"
#include <vector>
#include "AArch64TargetParser.def"
Include dependency graph for AArch64TargetParser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::AArch64
 

Macros

#define AARCH64_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)
 
#define AARCH64_ARCH_EXT_NAME(NAME, ID, FEATURE, NEGFEATURE)   {NAME, sizeof(NAME) - 1, ID, FEATURE, NEGFEATURE},
 
#define AARCH64_CPU_NAME(NAME, ID, DEFAULT_FPU, IS_DEFAULT, DEFAULT_EXT)   {NAME, sizeof(NAME) - 1, AArch64::ArchKind::ID, IS_DEFAULT, DEFAULT_EXT},
 
#define AARCH64_ARCH(NAME, ID, CPU_ATTR, SUB_ARCH, ARCH_ATTR, ARCH_FPU, ARCH_BASE_EXT)   ArchKind::ID,
 

Enumerations

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_SVE = 1 << 9, llvm::AArch64::AEK_DOTPROD = 1 << 10,
  llvm::AArch64::AEK_RCPC = 1 << 11, llvm::AArch64::AEK_RDM = 1 << 12, llvm::AArch64::AEK_SM4 = 1 << 13, llvm::AArch64::AEK_SHA3 = 1 << 14,
  llvm::AArch64::AEK_SHA2 = 1 << 15, llvm::AArch64::AEK_AES = 1 << 16, llvm::AArch64::AEK_FP16FML = 1 << 17, llvm::AArch64::AEK_RAND = 1 << 18,
  llvm::AArch64::AEK_MTE = 1 << 19, llvm::AArch64::AEK_SSBS = 1 << 20, llvm::AArch64::AEK_SB = 1 << 21, llvm::AArch64::AEK_PREDRES = 1 << 22,
  llvm::AArch64::AEK_SVE2 = 1 << 23, llvm::AArch64::AEK_SVE2AES = 1 << 24, llvm::AArch64::AEK_SVE2SM4 = 1 << 25, llvm::AArch64::AEK_SVE2SHA3 = 1 << 26,
  llvm::AArch64::AEK_SVE2BITPERM = 1 << 27, llvm::AArch64::AEK_TME = 1 << 28
}
 
enum  llvm::AArch64::ArchKind { llvm::AArch64::ArchKind::AARCH64_ARCH, llvm::AArch64::ArchKind::AARCH64_ARCH }
 

Functions

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::getDefaultFPU (StringRef CPU, ArchKind AK)
 
unsigned llvm::AArch64::getDefaultExtensions (StringRef CPU, ArchKind AK)
 
StringRef llvm::AArch64::getDefaultCPU (StringRef Arch)
 
ArchKind llvm::AArch64::getCPUArchKind (StringRef CPU)
 
ArchKind llvm::AArch64::parseArch (StringRef Arch)
 
ArchExtKind llvm::AArch64::parseArchExt (StringRef ArchExt)
 
ArchKind llvm::AArch64::parseCPUArch (StringRef CPU)
 
void llvm::AArch64::fillValidCPUArchList (SmallVectorImpl< StringRef > &Values)
 
bool llvm::AArch64::isX18ReservedByDefault (const Triple &TT)
 

Variables

const ARM::ArchNames< ArchKind > llvm::AArch64::AArch64ARCHNames []
 
const ARM::ExtName llvm::AArch64::AArch64ARCHExtNames []
 
const ARM::CpuNames< ArchKind > llvm::AArch64::AArch64CPUNames []
 
const ArchKind llvm::AArch64::ArchKinds []
 

Macro Definition Documentation

◆ AARCH64_ARCH [1/3]

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

Definition at line 61 of file AArch64TargetParser.h.

◆ AARCH64_ARCH [2/3]

#define AARCH64_ARCH (   NAME,
  ID,
  CPU_ATTR,
  SUB_ARCH,
  ARCH_ATTR,
  ARCH_FPU,
  ARCH_BASE_EXT 
)
Value:
{NAME, \
sizeof(NAME) - 1, \
CPU_ATTR, \
sizeof(CPU_ATTR) - 1, \
SUB_ARCH, \
sizeof(SUB_ARCH) - 1, \
ARM::FPUKind::ARCH_FPU, \
ARCH_BASE_EXT, \
ARCH_ATTR},

Definition at line 61 of file AArch64TargetParser.h.

◆ AARCH64_ARCH [3/3]

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

Definition at line 61 of file AArch64TargetParser.h.

◆ AARCH64_ARCH_EXT_NAME

#define AARCH64_ARCH_EXT_NAME (   NAME,
  ID,
  FEATURE,
  NEGFEATURE 
)    {NAME, sizeof(NAME) - 1, ID, FEATURE, NEGFEATURE},

◆ AARCH64_CPU_NAME

#define AARCH64_CPU_NAME (   NAME,
  ID,
  DEFAULT_FPU,
  IS_DEFAULT,
  DEFAULT_EXT 
)    {NAME, sizeof(NAME) - 1, AArch64::ArchKind::ID, IS_DEFAULT, DEFAULT_EXT},