clang 20.0.0git
Namespaces | Macros | Functions | Variables
X86.cpp File Reference
#include "X86.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/TargetBuiltins.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/X86TargetParser.h"
#include <optional>
#include "clang/Basic/BuiltinsX86.def"
#include "clang/Basic/BuiltinsX86_64.def"
#include "llvm/TargetParser/X86TargetParser.def"

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::targets
 

Macros

#define BUILTIN(ID, TYPE, ATTRS)    {#ID, TYPE, ATTRS, nullptr, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
 
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)    {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
 
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)    {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::HEADER, LANGS},
 
#define BUILTIN(ID, TYPE, ATTRS)    {#ID, TYPE, ATTRS, nullptr, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
 
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)    {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
 
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)    {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::HEADER, LANGS},
 
#define X86_FEATURE_COMPAT(ENUM, STR, PRIORITY)   .Case(STR, true)
 
#define X86_MICROARCH_LEVEL(ENUM, STR, PRIORITY)   .Case(STR, true)
 
#define X86_FEATURE_COMPAT(ENUM, STR, PRIORITY)    .Case(STR, llvm::X86::FEATURE_##ENUM)
 
#define X86_VENDOR(ENUM, STRING)   .Case(STRING, true)
 
#define X86_CPU_TYPE_ALIAS(ENUM, ALIAS)   .Case(ALIAS, true)
 
#define X86_CPU_TYPE(ENUM, STR)   .Case(STR, true)
 
#define X86_CPU_SUBTYPE_ALIAS(ENUM, ALIAS)   .Case(ALIAS, true)
 
#define X86_CPU_SUBTYPE(ENUM, STR)   .Case(STR, true)
 

Functions

static llvm::X86::ProcessorFeatures getFeature (StringRef Name)
 
static unsigned matchAsmCCConstraint (const char *Name)
 

Variables

static constexpr Builtin::Info clang::targets::BuiltinInfoX86 []
 
static const char *const clang::targets::GCCRegNames []
 
const TargetInfo::AddlRegName clang::targets::AddlRegNames []
 

Macro Definition Documentation

◆ BUILTIN [1/2]

#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)     {#ID, TYPE, ATTRS, nullptr, HeaderDesc::NO_HEADER, ALL_LANGUAGES},

◆ BUILTIN [2/2]

#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)     {#ID, TYPE, ATTRS, nullptr, HeaderDesc::NO_HEADER, ALL_LANGUAGES},

◆ TARGET_BUILTIN [1/2]

#define TARGET_BUILTIN (   ID,
  TYPE,
  ATTRS,
  FEATURE 
)     {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::NO_HEADER, ALL_LANGUAGES},

◆ TARGET_BUILTIN [2/2]

#define TARGET_BUILTIN (   ID,
  TYPE,
  ATTRS,
  FEATURE 
)     {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::NO_HEADER, ALL_LANGUAGES},

◆ TARGET_HEADER_BUILTIN [1/2]

#define TARGET_HEADER_BUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER,
  LANGS,
  FEATURE 
)     {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::HEADER, LANGS},

◆ TARGET_HEADER_BUILTIN [2/2]

#define TARGET_HEADER_BUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER,
  LANGS,
  FEATURE 
)     {#ID, TYPE, ATTRS, FEATURE, HeaderDesc::HEADER, LANGS},

◆ X86_CPU_SUBTYPE

#define X86_CPU_SUBTYPE (   ENUM,
  STR 
)    .Case(STR, true)

◆ X86_CPU_SUBTYPE_ALIAS

#define X86_CPU_SUBTYPE_ALIAS (   ENUM,
  ALIAS 
)    .Case(ALIAS, true)

◆ X86_CPU_TYPE

#define X86_CPU_TYPE (   ENUM,
  STR 
)    .Case(STR, true)

◆ X86_CPU_TYPE_ALIAS

#define X86_CPU_TYPE_ALIAS (   ENUM,
  ALIAS 
)    .Case(ALIAS, true)

◆ X86_FEATURE_COMPAT [1/2]

#define X86_FEATURE_COMPAT (   ENUM,
  STR,
  PRIORITY 
)    .Case(STR, true)

◆ X86_FEATURE_COMPAT [2/2]

#define X86_FEATURE_COMPAT (   ENUM,
  STR,
  PRIORITY 
)     .Case(STR, llvm::X86::FEATURE_##ENUM)

◆ X86_MICROARCH_LEVEL

#define X86_MICROARCH_LEVEL (   ENUM,
  STR,
  PRIORITY 
)    .Case(STR, true)

◆ X86_VENDOR

#define X86_VENDOR (   ENUM,
  STRING 
)    .Case(STRING, true)

Function Documentation

◆ getFeature()

static llvm::X86::ProcessorFeatures getFeature ( StringRef  Name)
static

Definition at line 1307 of file X86.cpp.

Referenced by clang::targets::X86TargetInfo::multiVersionSortPriority().

◆ matchAsmCCConstraint()

static unsigned matchAsmCCConstraint ( const char *  Name)
static

Definition at line 1364 of file X86.cpp.