LLVM  16.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
AArch64TargetParser.h File Reference
#include "llvm/ADT/StringRef.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.

Classes

struct  llvm::AArch64::ArchNames
 
struct  llvm::AArch64::ExtName
 
struct  llvm::AArch64::CpuNames
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 llvm::AArch64
 

Macros

#define AARCH64_ARCH(NAME, ID, ARCH_FEATURE, ARCH_BASE_EXT)   ID,
 
#define AARCH64_ARCH(NAME, ID, ARCH_FEATURE, ARCH_BASE_EXT)   {NAME, ARCH_FEATURE, ARCH_BASE_EXT, AArch64::ArchKind::ID},
 
#define AARCH64_ARCH_EXT_NAME(NAME, ID, FEATURE, NEGFEATURE)   {NAME, ID, FEATURE, NEGFEATURE},
 
#define AARCH64_CPU_NAME(NAME, ID, DEFAULT_FPU, IS_DEFAULT, DEFAULT_EXT)   {NAME, AArch64::ArchKind::ID, IS_DEFAULT, DEFAULT_EXT},
 
#define AARCH64_CPU_ALIAS(ALIAS, NAME)   {ALIAS, NAME},
 
#define AARCH64_ARCH(NAME, ID, ARCH_FEATURE, ARCH_BASE_EXT)   ArchKind::ID,
 

Enumerations

enum  llvm::AArch64::ArchExtKind : uint64_t {
  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, llvm::AArch64::AEK_BF16 = 1 << 29, llvm::AArch64::AEK_I8MM = 1 << 30,
  llvm::AArch64::AEK_F32MM = 1ULL << 31, llvm::AArch64::AEK_F64MM = 1ULL << 32, llvm::AArch64::AEK_LS64 = 1ULL << 33, llvm::AArch64::AEK_BRBE = 1ULL << 34,
  llvm::AArch64::AEK_PAUTH = 1ULL << 35, llvm::AArch64::AEK_FLAGM = 1ULL << 36, llvm::AArch64::AEK_SME = 1ULL << 37, llvm::AArch64::AEK_SMEF64F64 = 1ULL << 38,
  llvm::AArch64::AEK_SMEI16I64 = 1ULL << 39, llvm::AArch64::AEK_HBC = 1ULL << 40, llvm::AArch64::AEK_MOPS = 1ULL << 41, llvm::AArch64::AEK_PERFMON = 1ULL << 42,
  llvm::AArch64::AEK_SME2 = 1ULL << 43, llvm::AArch64::AEK_SVE2p1 = 1ULL << 44, llvm::AArch64::AEK_SME2p1 = 1ULL << 45, llvm::AArch64::AEK_B16B16 = 1ULL << 46,
  llvm::AArch64::AEK_SMEF16F16 = 1ULL << 47, llvm::AArch64::AEK_CSSC = 1ULL << 48, llvm::AArch64::AEK_RCPC3 = 1ULL << 49
}
 
enum  llvm::AArch64::ArchKind { llvm::AArch64::ArchKind::AARCH64_ARCH }
 

Functions

ArchKind & llvm::AArch64::operator-- (ArchKind &Kind)
 
bool llvm::AArch64::getExtensionFeatures (uint64_t Extensions, std::vector< StringRef > &Features)
 
bool llvm::AArch64::getArchFeatures (ArchKind AK, std::vector< StringRef > &Features)
 
StringRef llvm::AArch64::getArchName (ArchKind AK)
 
StringRef llvm::AArch64::getSubArch (ArchKind AK)
 
StringRef llvm::AArch64::getArchExtName (unsigned ArchExtKind)
 
StringRef llvm::AArch64::getArchExtFeature (StringRef ArchExt)
 
ArchKind llvm::AArch64::convertV9toV8 (ArchKind AK)
 
StringRef llvm::AArch64::resolveCPUAlias (StringRef CPU)
 
uint64_t llvm::AArch64::getDefaultExtensions (StringRef CPU, ArchKind AK)
 
ArchKind llvm::AArch64::getCPUArchKind (StringRef CPU)
 
ArchKind llvm::AArch64::getSubArchArchKind (StringRef SubArch)
 
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 ArchNames llvm::AArch64::AArch64ARCHNames []
 
const ExtName llvm::AArch64::AArch64ARCHExtNames []
 
const CpuNames llvm::AArch64::AArch64CPUNames []
 
struct {
   StringRef   llvm::AArch64::Alias
 
   StringRef   llvm::AArch64::Name
 
llvm::AArch64::AArch64CPUAliases []
 
const ArchKind llvm::AArch64::ArchKinds []
 

Macro Definition Documentation

◆ AARCH64_ARCH [1/3]

#define AARCH64_ARCH (   NAME,
  ID,
  ARCH_FEATURE,
  ARCH_BASE_EXT 
)    ID,

Definition at line 84 of file AArch64TargetParser.h.

◆ AARCH64_ARCH [2/3]

#define AARCH64_ARCH (   NAME,
  ID,
  ARCH_FEATURE,
  ARCH_BASE_EXT 
)    {NAME, ARCH_FEATURE, ARCH_BASE_EXT, AArch64::ArchKind::ID},

Definition at line 84 of file AArch64TargetParser.h.

◆ AARCH64_ARCH [3/3]

#define AARCH64_ARCH (   NAME,
  ID,
  ARCH_FEATURE,
  ARCH_BASE_EXT 
)    ArchKind::ID,

Definition at line 84 of file AArch64TargetParser.h.

◆ AARCH64_ARCH_EXT_NAME

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

◆ AARCH64_CPU_ALIAS

#define AARCH64_CPU_ALIAS (   ALIAS,
  NAME 
)    {ALIAS, NAME},

◆ AARCH64_CPU_NAME

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