LLVM  14.0.0git
Namespaces | Macros | Enumerations | Functions
X86TargetParser.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/X86TargetParser.def"
Include dependency graph for X86TargetParser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This file implements support for optimizing divisions by a constant.
 
 llvm::X86
 Define some predicates that are used for node matching.
 

Macros

#define X86_VENDOR(ENUM, STRING)   ENUM,
 
#define X86_CPU_TYPE(ENUM, STRING)   ENUM,
 
#define X86_CPU_SUBTYPE(ENUM, STRING)   ENUM,
 
#define X86_FEATURE(ENUM, STRING)   FEATURE_##ENUM,
 

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_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_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_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

CPUKind llvm::X86::parseArchX86 (StringRef CPU, bool Only64Bit=false)
 Parse CPU string into a CPUKind. More...
 
CPUKind llvm::X86::parseTuneCPU (StringRef CPU, bool Only64Bit=false)
 
void llvm::X86::fillValidCPUArchList (SmallVectorImpl< StringRef > &Values, bool Only64Bit=false)
 Provide a list of valid CPU names. More...
 
void llvm::X86::fillValidTuneCPUList (SmallVectorImpl< StringRef > &Values, bool Only64Bit=false)
 Provide a list of valid -mtune names. More...
 
ProcessorFeatures llvm::X86::getKeyFeature (CPUKind Kind)
 Get the key feature prioritizing target multiversioning. More...
 
void llvm::X86::getFeaturesForCPU (StringRef CPU, SmallVectorImpl< StringRef > &Features)
 Fill in the features that CPU supports into Features. More...
 
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. More...
 
uint64_t llvm::X86::getCpuSupportsMask (ArrayRef< StringRef > FeatureStrs)
 
unsigned llvm::X86::getFeaturePriority (ProcessorFeatures Feat)
 

Macro Definition Documentation

◆ X86_CPU_SUBTYPE

#define X86_CPU_SUBTYPE (   ENUM,
  STRING 
)    ENUM,

Definition at line 49 of file X86TargetParser.h.

◆ X86_CPU_TYPE

#define X86_CPU_TYPE (   ENUM,
  STRING 
)    ENUM,

Definition at line 39 of file X86TargetParser.h.

◆ X86_FEATURE

#define X86_FEATURE (   ENUM,
  STRING 
)    FEATURE_##ENUM,

Definition at line 58 of file X86TargetParser.h.

◆ X86_VENDOR

#define X86_VENDOR (   ENUM,
  STRING 
)    ENUM,

Definition at line 29 of file X86TargetParser.h.