LLVM  8.0.0svn
Enumerations | Functions
llvm::AArch64 Namespace Reference

Enumerations

enum  ArchKind { ArchKind::AARCH64_ARCH, ArchKind::AARCH64_ARCH }
 
enum  ArchExtKind : unsigned {
  AEK_INVALID = 0, AEK_NONE = 1, AEK_CRC = 1 << 1, AEK_CRYPTO = 1 << 2,
  AEK_FP = 1 << 3, AEK_SIMD = 1 << 4, AEK_FP16 = 1 << 5, AEK_PROFILE = 1 << 6,
  AEK_RAS = 1 << 7, AEK_LSE = 1 << 8, AEK_SVE = 1 << 9, AEK_DOTPROD = 1 << 10,
  AEK_RCPC = 1 << 11, AEK_RDM = 1 << 12, AEK_SM4 = 1 << 13, AEK_SHA3 = 1 << 14,
  AEK_SHA2 = 1 << 15, AEK_AES = 1 << 16, AEK_FP16FML = 1 << 17
}
 
enum  ElementSizeType {
  ElementSizeMask = TSFLAG_ELEMENT_SIZE_TYPE(0x7), ElementSizeNone = TSFLAG_ELEMENT_SIZE_TYPE(0x0), ElementSizeB = TSFLAG_ELEMENT_SIZE_TYPE(0x1), ElementSizeH = TSFLAG_ELEMENT_SIZE_TYPE(0x2),
  ElementSizeS = TSFLAG_ELEMENT_SIZE_TYPE(0x3), ElementSizeD = TSFLAG_ELEMENT_SIZE_TYPE(0x4)
}
 
enum  DestructiveInstType { DestructiveInstTypeMask = TSFLAG_DESTRUCTIVE_INST_TYPE(0x1), NotDestructive = TSFLAG_DESTRUCTIVE_INST_TYPE(0x0), Destructive = TSFLAG_DESTRUCTIVE_INST_TYPE(0x1) }
 
enum  Fixups {
  fixup_aarch64_pcrel_adr_imm21 = FirstTargetFixupKind, fixup_aarch64_pcrel_adrp_imm21, fixup_aarch64_add_imm12, fixup_aarch64_ldst_imm12_scale1,
  fixup_aarch64_ldst_imm12_scale2, fixup_aarch64_ldst_imm12_scale4, fixup_aarch64_ldst_imm12_scale8, fixup_aarch64_ldst_imm12_scale16,
  fixup_aarch64_ldr_pcrel_imm19, fixup_aarch64_movw, fixup_aarch64_pcrel_branch14, fixup_aarch64_pcrel_branch19,
  fixup_aarch64_pcrel_branch26, fixup_aarch64_pcrel_call26, fixup_aarch64_tlsdesc_call, LastTargetFixupKind,
  NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
}
 

Functions

StringRef getCanonicalArchName (StringRef Arch)
 
StringRef getFPUName (unsigned FPUKind)
 
ARM::FPUVersion getFPUVersion (unsigned FPUKind)
 
ARM::NeonSupportLevel getFPUNeonSupportLevel (unsigned FPUKind)
 
ARM::FPURestriction getFPURestriction (unsigned FPUKind)
 
bool getFPUFeatures (unsigned FPUKind, std::vector< StringRef > &Features)
 
bool getExtensionFeatures (unsigned Extensions, std::vector< StringRef > &Features)
 
bool getArchFeatures (ArchKind AK, std::vector< StringRef > &Features)
 
StringRef getArchName (ArchKind AK)
 
unsigned getArchAttr (ArchKind AK)
 
StringRef getCPUAttr (ArchKind AK)
 
StringRef getSubArch (ArchKind AK)
 
StringRef getArchExtName (unsigned ArchExtKind)
 
StringRef getArchExtFeature (StringRef ArchExt)
 
unsigned checkArchVersion (StringRef Arch)
 
unsigned getDefaultFPU (StringRef CPU, ArchKind AK)
 
unsigned getDefaultExtensions (StringRef CPU, ArchKind AK)
 
StringRef getDefaultCPU (StringRef Arch)
 
AArch64::ArchKind getCPUArchKind (StringRef CPU)
 
unsigned parseFPU (StringRef FPU)
 
AArch64::ArchKind parseArch (StringRef Arch)
 
ArchExtKind parseArchExt (StringRef ArchExt)
 
ArchKind parseCPUArch (StringRef CPU)
 
void fillValidCPUArchList (SmallVectorImpl< StringRef > &Values)
 
ARM::ISAKind parseArchISA (StringRef Arch)
 
ARM::EndianKind parseArchEndian (StringRef Arch)
 
ARM::ProfileKind parseArchProfile (StringRef Arch)
 
unsigned parseArchVersion (StringRef Arch)
 
bool isX18ReservedByDefault (const Triple &TT)
 
FastISelcreateFastISel (FunctionLoweringInfo &funcInfo, const TargetLibraryInfo *libInfo)
 

Enumeration Type Documentation

◆ ArchExtKind

Enumerator
AEK_INVALID 
AEK_NONE 
AEK_CRC 
AEK_CRYPTO 
AEK_FP 
AEK_SIMD 
AEK_FP16 
AEK_PROFILE 
AEK_RAS 
AEK_LSE 
AEK_SVE 
AEK_DOTPROD 
AEK_RCPC 
AEK_RDM 
AEK_SM4 
AEK_SHA3 
AEK_SHA2 
AEK_AES 
AEK_FP16FML 

Definition at line 163 of file TargetParser.h.

◆ ArchKind

Enumerator
AARCH64_ARCH 
AARCH64_ARCH 

Definition at line 157 of file TargetParser.h.

◆ DestructiveInstType

Enumerator
DestructiveInstTypeMask 
NotDestructive 
Destructive 

Definition at line 363 of file AArch64InstrInfo.h.

◆ ElementSizeType

Enumerator
ElementSizeMask 
ElementSizeNone 
ElementSizeB 
ElementSizeH 
ElementSizeS 
ElementSizeD 

Definition at line 354 of file AArch64InstrInfo.h.

◆ Fixups

Enumerator
fixup_aarch64_pcrel_adr_imm21 
fixup_aarch64_pcrel_adrp_imm21 
fixup_aarch64_add_imm12 
fixup_aarch64_ldst_imm12_scale1 
fixup_aarch64_ldst_imm12_scale2 
fixup_aarch64_ldst_imm12_scale4 
fixup_aarch64_ldst_imm12_scale8 
fixup_aarch64_ldst_imm12_scale16 
fixup_aarch64_ldr_pcrel_imm19 
fixup_aarch64_movw 
fixup_aarch64_pcrel_branch14 
fixup_aarch64_pcrel_branch19 
fixup_aarch64_pcrel_branch26 
fixup_aarch64_pcrel_call26 
fixup_aarch64_tlsdesc_call 
LastTargetFixupKind 
NumTargetFixupKinds 

Definition at line 18 of file AArch64FixupKinds.h.

Function Documentation

◆ checkArchVersion()

unsigned llvm::AArch64::checkArchVersion ( StringRef  Arch)

Definition at line 561 of file TargetParser.cpp.

References llvm::StringRef::size().

Referenced by llvm::ARM::computeDefaultTargetABI().

◆ createFastISel()

FastISel * llvm::AArch64::createFastISel ( FunctionLoweringInfo funcInfo,
const TargetLibraryInfo libInfo 
)

◆ fillValidCPUArchList()

void llvm::AArch64::fillValidCPUArchList ( SmallVectorImpl< StringRef > &  Values)

◆ getArchAttr()

unsigned llvm::AArch64::getArchAttr ( ArchKind  AK)

◆ getArchExtFeature()

StringRef llvm::AArch64::getArchExtFeature ( StringRef  ArchExt)

Referenced by getArchAttr().

◆ getArchExtName()

StringRef llvm::AArch64::getArchExtName ( unsigned  ArchExtKind)

Referenced by getArchAttr().

◆ getArchFeatures()

bool llvm::AArch64::getArchFeatures ( AArch64::ArchKind  AK,
std::vector< StringRef > &  Features 
)

Definition at line 495 of file TargetParser.cpp.

Referenced by ExpandCryptoAEK().

◆ getArchName()

StringRef llvm::AArch64::getArchName ( ArchKind  AK)

Definition at line 509 of file TargetParser.cpp.

References getName().

◆ getCanonicalArchName()

StringRef llvm::AArch64::getCanonicalArchName ( StringRef  Arch)

◆ getCPUArchKind()

AArch64::ArchKind llvm::AArch64::getCPUArchKind ( StringRef  CPU)

◆ getCPUAttr()

StringRef llvm::AArch64::getCPUAttr ( ArchKind  AK)

Definition at line 513 of file TargetParser.cpp.

References llvm::ARM::getCPUAttr().

◆ getDefaultCPU()

StringRef llvm::AArch64::getDefaultCPU ( StringRef  Arch)

Referenced by getArchAttr().

◆ getDefaultExtensions()

unsigned llvm::AArch64::getDefaultExtensions ( StringRef  CPU,
ArchKind  AK 
)

Definition at line 429 of file TargetParser.cpp.

References AARCH64_CPU_NAME, and AEK_INVALID.

Referenced by ExpandCryptoAEK().

◆ getDefaultFPU()

unsigned llvm::AArch64::getDefaultFPU ( StringRef  CPU,
ArchKind  AK 
)

Definition at line 418 of file TargetParser.cpp.

References AARCH64_CPU_NAME.

◆ getExtensionFeatures()

bool llvm::AArch64::getExtensionFeatures ( unsigned  Extensions,
std::vector< StringRef > &  Features 
)

Referenced by ExpandCryptoAEK(), and getCPUArchKind().

◆ getFPUFeatures()

bool llvm::AArch64::getFPUFeatures ( unsigned  FPUKind,
std::vector< StringRef > &  Features 
)

Referenced by getCPUArchKind().

◆ getFPUName()

StringRef llvm::AArch64::getFPUName ( unsigned  FPUKind)

◆ getFPUNeonSupportLevel()

ARM::NeonSupportLevel llvm::AArch64::getFPUNeonSupportLevel ( unsigned  FPUKind)

◆ getFPURestriction()

ARM::FPURestriction llvm::AArch64::getFPURestriction ( unsigned  FPUKind)

◆ getFPUVersion()

ARM::FPUVersion llvm::AArch64::getFPUVersion ( unsigned  FPUKind)

◆ getSubArch()

StringRef llvm::AArch64::getSubArch ( ArchKind  AK)

Definition at line 517 of file TargetParser.cpp.

References llvm::ARM::getSubArch().

◆ isX18ReservedByDefault()

bool llvm::AArch64::isX18ReservedByDefault ( const Triple TT)

◆ parseArch()

AArch64::ArchKind llvm::AArch64::parseArch ( StringRef  Arch)

◆ parseArchEndian()

ARM::EndianKind llvm::AArch64::parseArchEndian ( StringRef  Arch)

◆ parseArchExt()

ArchExtKind llvm::AArch64::parseArchExt ( StringRef  ArchExt)

◆ parseArchISA()

ARM::ISAKind llvm::AArch64::parseArchISA ( StringRef  Arch)

◆ parseArchProfile()

ARM::ProfileKind llvm::AArch64::parseArchProfile ( StringRef  Arch)

◆ parseArchVersion()

unsigned llvm::AArch64::parseArchVersion ( StringRef  Arch)

◆ parseCPUArch()

ArchKind llvm::AArch64::parseCPUArch ( StringRef  CPU)

◆ parseFPU()

unsigned llvm::AArch64::parseFPU ( StringRef  FPU)