LLVM  16.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
X86TargetParser.h File Reference
#include "llvm/ADT/ArrayRef.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.

Classes

class  llvm::SmallVectorImpl< T >
 This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 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_Raptorlake,
  llvm::X86::CK_Meteorlake, llvm::X86::CK_Sierraforest, llvm::X86::CK_Grandridge, llvm::X86::CK_Graniterapids,
  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.