LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
AArch64TargetParser.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Bitset.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/SubtargetFeature.h"
#include <array>
#include <set>
#include <vector>
#include "llvm/TargetParser/AArch64CPUFeatures.inc"
#include "llvm/TargetParser/AArch64TargetParserDef.inc"

Go to the source code of this file.

Classes

struct  llvm::AArch64::ExtensionInfo
 
struct  llvm::AArch64::FMVInfo
 
struct  llvm::AArch64::ExtensionDependency
 
struct  llvm::AArch64::ArchInfo
 
struct  llvm::AArch64::CpuInfo
 
struct  llvm::AArch64::ExtensionSet
 
struct  llvm::AArch64::Alias
 

Namespaces

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

Macros

#define EMIT_ARCHEXTKIND_ENUM
 
#define EMIT_EXTENSIONS
 
#define EMIT_EXTENSION_DEPENDENCIES
 
#define EMIT_ARCHITECTURES
 
#define EMIT_CPU_INFO
 
#define EMIT_CPU_ALIAS
 

Typedefs

using llvm::AArch64::ExtensionBitset = Bitset< AEK_NUM_EXTENSIONS >
 

Enumerations

enum  llvm::AArch64::ArchProfile { llvm::AArch64::AProfile = 'A' , llvm::AArch64::RProfile = 'R' , llvm::AArch64::InvalidProfile = '?' }
 

Functions

const std::vector< FMVInfo > & llvm::AArch64::getFMVInfo ()
 
const ExtensionInfo & llvm::AArch64::getExtensionByID (ArchExtKind(ExtID))
 
bool llvm::AArch64::getExtensionFeatures (const AArch64::ExtensionBitset &Extensions, std::vector< StringRef > &Features)
 
StringRef llvm::AArch64::getArchExtFeature (StringRef ArchExt)
 
StringRef llvm::AArch64::resolveCPUAlias (StringRef CPU)
 
const ArchInfo * llvm::AArch64::getArchForCpu (StringRef CPU)
 
const ArchInfo * llvm::AArch64::parseArch (StringRef Arch)
 
std::optional< ExtensionInfo > llvm::AArch64::targetFeatureToExtension (StringRef TargetFeature)
 
std::optional< ExtensionInfo > llvm::AArch64::parseArchExtension (StringRef Extension)
 
std::optional< FMVInfo > llvm::AArch64::parseFMVExtension (StringRef Extension)
 
std::optional< CpuInfo > llvm::AArch64::parseCpu (StringRef Name)
 
void llvm::AArch64::fillValidCPUArchList (SmallVectorImpl< StringRef > &Values)
 
bool llvm::AArch64::isX18ReservedByDefault (const Triple &TT)
 
unsigned llvm::AArch64::getFMVPriority (ArrayRef< StringRef > Features)
 
uint64_t llvm::AArch64::getCpuSupportsMask (ArrayRef< StringRef > Features)
 
void llvm::AArch64::PrintSupportedExtensions ()
 
void llvm::AArch64::printEnabledExtensions (const std::set< StringRef > &EnabledFeatureNames)
 

Macro Definition Documentation

◆ EMIT_ARCHEXTKIND_ENUM

#define EMIT_ARCHEXTKIND_ENUM

Definition at line 44 of file AArch64TargetParser.h.

◆ EMIT_ARCHITECTURES

#define EMIT_ARCHITECTURES

Definition at line 151 of file AArch64TargetParser.h.

◆ EMIT_CPU_ALIAS

#define EMIT_CPU_ALIAS

Definition at line 238 of file AArch64TargetParser.h.

◆ EMIT_CPU_INFO

#define EMIT_CPU_INFO

Definition at line 166 of file AArch64TargetParser.h.

◆ EMIT_EXTENSION_DEPENDENCIES

#define EMIT_EXTENSION_DEPENDENCIES

Definition at line 92 of file AArch64TargetParser.h.

◆ EMIT_EXTENSIONS

#define EMIT_EXTENSIONS

Definition at line 68 of file AArch64TargetParser.h.