LLVM  8.0.1
Enumerations | Functions | Variables
llvm::AArch64 Namespace Reference

Enumerations

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, AEK_RAND = 1 << 18,
  AEK_MTE = 1 << 19, AEK_SSBS = 1 << 20, AEK_SB = 1 << 21, AEK_PREDRES = 1 << 22
}
 
enum  ArchKind { ArchKind::AARCH64_ARCH, ArchKind::AARCH64_ARCH }
 
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

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

Variables

const ARM::ArchNames< ArchKindAArch64ARCHNames []
 
const ARM::ExtName AArch64ARCHExtNames []
 
const ARM::CpuNames< ArchKindAArch64CPUNames []
 
const ArchKind ArchKinds []
 

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 
AEK_RAND 
AEK_MTE 
AEK_SSBS 
AEK_SB 
AEK_PREDRES 

Definition at line 28 of file AArch64TargetParser.h.

◆ ArchKind

Enumerator
AARCH64_ARCH 
AARCH64_ARCH 

Definition at line 55 of file AArch64TargetParser.h.

◆ DestructiveInstType

Enumerator
DestructiveInstTypeMask 
NotDestructive 
Destructive 

Definition at line 358 of file AArch64InstrInfo.h.

◆ ElementSizeType

Enumerator
ElementSizeMask 
ElementSizeNone 
ElementSizeB 
ElementSizeH 
ElementSizeS 
ElementSizeD 

Definition at line 349 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

◆ createFastISel()

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

◆ fillValidCPUArchList()

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

◆ getArchAttr()

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

Definition at line 126 of file AArch64TargetParser.cpp.

References AArch64ARCHNames.

◆ getArchExtFeature()

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

◆ getArchExtName()

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

Definition at line 130 of file AArch64TargetParser.cpp.

References AArch64ARCHExtNames.

◆ getArchFeatures()

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

Definition at line 98 of file AArch64TargetParser.cpp.

Referenced by ExpandCryptoAEK().

◆ getArchName()

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

Definition at line 114 of file AArch64TargetParser.cpp.

References AArch64ARCHNames, and getName().

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

◆ getCPUArchKind()

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

Definition at line 52 of file AArch64TargetParser.cpp.

References AARCH64_CPU_NAME.

Referenced by incrementLoc().

◆ getCPUAttr()

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

Definition at line 118 of file AArch64TargetParser.cpp.

References AArch64ARCHNames.

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

◆ getDefaultCPU()

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

Definition at line 152 of file AArch64TargetParser.cpp.

References AArch64CPUNames, and parseArch().

◆ getDefaultExtensions()

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

Definition at line 39 of file AArch64TargetParser.cpp.

References AARCH64_CPU_NAME, AArch64ARCHNames, and AEK_INVALID.

Referenced by ExpandCryptoAEK().

◆ getDefaultFPU()

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

Definition at line 28 of file AArch64TargetParser.cpp.

References AARCH64_CPU_NAME, and AArch64ARCHNames.

◆ getExtensionFeatures()

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

◆ getSubArch()

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

Definition at line 122 of file AArch64TargetParser.cpp.

References AArch64ARCHNames.

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

◆ isX18ReservedByDefault()

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

◆ parseArch()

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

◆ parseArchExt()

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

Definition at line 192 of file AArch64TargetParser.cpp.

References AArch64ARCHExtNames, and AEK_INVALID.

◆ parseCPUArch()

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

Definition at line 200 of file AArch64TargetParser.cpp.

References AArch64CPUNames, C, and llvm::Value::getName().

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

Variable Documentation

◆ AArch64ARCHExtNames

const ARM::ExtName llvm::AArch64::AArch64ARCHExtNames[]

Definition at line 76 of file AArch64TargetParser.h.

Referenced by getArchExtFeature(), getArchExtName(), and parseArchExt().

◆ AArch64ARCHNames

const ARM::ArchNames<ArchKind> llvm::AArch64::AArch64ARCHNames[]

◆ AArch64CPUNames

const ARM::CpuNames<ArchKind> llvm::AArch64::AArch64CPUNames[]

Definition at line 82 of file AArch64TargetParser.h.

Referenced by fillValidCPUArchList(), getDefaultCPU(), and parseCPUArch().

◆ ArchKinds

const ArchKind llvm::AArch64::ArchKinds[]

Definition at line 88 of file AArch64TargetParser.h.