#include "llvm/TargetParser/X86TargetParser.def"">

LLVM: include/llvm/TargetParser/X86TargetParser.h File Reference (original) (raw)

#include "[llvm/ADT/ArrayRef.h](ArrayRef%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringMap.h](ADT%5F2StringMap%5F8h%5Fsource.html)"
#include "[llvm/Support/Compiler.h](Compiler%5F8h%5Fsource.html)"
#include <array>
#include "llvm/TargetParser/X86TargetParser.def"

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::X86
Define some predicates that are used for node matching.
Macros
#define X86_VENDOR(ENUM, STRING)
#define X86_CPU_TYPE(ENUM, STRING)
#define X86_CPU_SUBTYPE(ENUM, STRING)
#define X86_FEATURE(ENUM, STRING)
#define X86_MICROARCH_LEVEL(ENUM, STR, PRIORITY, ABI_VALUE)
Enumerations
enum llvm::X86::ProcessorVendors : unsigned { llvm::X86::VENDOR_DUMMY, llvm::X86::VENDOR_OTHER }
enum llvm::X86::ProcessorTypes : unsigned { llvm::X86::CPU_TYPE_DUMMY, llvm::X86::CPU_TYPE_MAX }
enum llvm::X86::ProcessorSubtypes : unsigned { llvm::X86::CPU_SUBTYPE_DUMMY, llvm::X86::CPU_SUBTYPE_MAX }
enum llvm::X86::ProcessorFeatures { llvm::X86::CPU_FEATURE_MAX }
enum llvm::X86::CPUKind { llvm::X86::CK_None, llvm::X86::CK_i386, llvm::X86::CK_i486, llvm::X86::CK_WinChipC6, llvm::X86::CK_WinChip2, llvm::X86::CK_C3, llvm::X86::CK_i586, llvm::X86::CK_Pentium, llvm::X86::CK_PentiumMMX, llvm::X86::CK_PentiumPro, llvm::X86::CK_i686, llvm::X86::CK_Pentium2, llvm::X86::CK_Pentium3, llvm::X86::CK_PentiumM, llvm::X86::CK_C3_2, llvm::X86::CK_Yonah, llvm::X86::CK_Pentium4, llvm::X86::CK_Prescott, llvm::X86::CK_Nocona, llvm::X86::CK_Core2, llvm::X86::CK_Penryn, llvm::X86::CK_Bonnell, llvm::X86::CK_Silvermont, llvm::X86::CK_Goldmont, llvm::X86::CK_GoldmontPlus, llvm::X86::CK_Tremont, llvm::X86::CK_Gracemont, llvm::X86::CK_Nehalem, llvm::X86::CK_Westmere, llvm::X86::CK_SandyBridge, llvm::X86::CK_IvyBridge, llvm::X86::CK_Haswell, llvm::X86::CK_Broadwell, llvm::X86::CK_SkylakeClient, llvm::X86::CK_SkylakeServer, llvm::X86::CK_Cascadelake, llvm::X86::CK_Cooperlake, llvm::X86::CK_Cannonlake, llvm::X86::CK_IcelakeClient, llvm::X86::CK_Rocketlake, llvm::X86::CK_IcelakeServer, llvm::X86::CK_Tigerlake, llvm::X86::CK_SapphireRapids, llvm::X86::CK_Alderlake, llvm::X86::CK_Raptorlake, llvm::X86::CK_Meteorlake, llvm::X86::CK_Arrowlake, llvm::X86::CK_ArrowlakeS, llvm::X86::CK_Lunarlake, llvm::X86::CK_Pantherlake, llvm::X86::CK_Wildcatlake, llvm::X86::CK_Novalake, llvm::X86::CK_Sierraforest, llvm::X86::CK_Grandridge, llvm::X86::CK_Graniterapids, llvm::X86::CK_GraniterapidsD, llvm::X86::CK_Emeraldrapids, llvm::X86::CK_Clearwaterforest, llvm::X86::CK_Diamondrapids, llvm::X86::CK_KNL, llvm::X86::CK_KNM, llvm::X86::CK_Lakemont, llvm::X86::CK_K6, llvm::X86::CK_K6_2, llvm::X86::CK_K6_3, llvm::X86::CK_Athlon, llvm::X86::CK_AthlonXP, llvm::X86::CK_K8, llvm::X86::CK_K8SSE3, llvm::X86::CK_AMDFAM10, llvm::X86::CK_BTVER1, llvm::X86::CK_BTVER2, llvm::X86::CK_BDVER1, llvm::X86::CK_BDVER2, llvm::X86::CK_BDVER3, llvm::X86::CK_BDVER4, llvm::X86::CK_ZNVER1, llvm::X86::CK_ZNVER2, llvm::X86::CK_ZNVER3, llvm::X86::CK_ZNVER4, llvm::X86::CK_ZNVER5, llvm::X86::CK_x86_64, llvm::X86::CK_x86_64_v2, llvm::X86::CK_x86_64_v3, llvm::X86::CK_x86_64_v4, llvm::X86::CK_Geode }
Functions
LLVM_ABI CPUKind llvm::X86::parseArchX86 (StringRef CPU, bool Only64Bit=false)
Parse CPU string into a CPUKind.
LLVM_ABI CPUKind llvm::X86::parseTuneCPU (StringRef CPU, bool Only64Bit=false)
LLVM_ABI void llvm::X86::fillValidCPUArchList (SmallVectorImpl< StringRef > &Values, bool Only64Bit=false)
Provide a list of valid CPU names.
LLVM_ABI void llvm::X86::fillValidTuneCPUList (SmallVectorImpl< StringRef > &Values, bool Only64Bit=false)
Provide a list of valid -mtune names.
LLVM_ABI ProcessorFeatures llvm::X86::getKeyFeature (CPUKind Kind)
Get the key feature prioritizing target multiversioning.
LLVM_ABI void llvm::X86::getFeaturesForCPU (StringRef CPU, SmallVectorImpl< StringRef > &Features, bool NeedPlus=false)
Fill in the features that CPU supports into Features.
LLVM_ABI void llvm::X86::updateImpliedFeatures (StringRef Feature, bool Enabled, StringMap< bool > &Features)
Set or clear entries in Features that are implied to be enabled/disabled by the provided Feature.
LLVM_ABI char llvm::X86::getCPUDispatchMangling (StringRef Name)
LLVM_ABI bool llvm::X86::validateCPUSpecificCPUDispatch (StringRef Name)
LLVM_ABI std::array< uint32_t, 4 > llvm::X86::getCpuSupportsMask (ArrayRef< StringRef > FeatureStrs)
LLVM_ABI unsigned llvm::X86::getFeaturePriority (ProcessorFeatures Feat)

Macro Definition Documentation

X86_CPU_SUBTYPE

#define X86_CPU_SUBTYPE ( ENUM,
STRING )

X86_CPU_TYPE

#define X86_CPU_TYPE ( ENUM,
STRING )

X86_FEATURE

#define X86_FEATURE ( ENUM,
STRING )

X86_MICROARCH_LEVEL

#define X86_MICROARCH_LEVEL ( ENUM,
STR,
PRIORITY,
ABI_VALUE )

X86_VENDOR

#define X86_VENDOR ( ENUM,
STRING )