clang  6.0.0svn
Namespaces | Macros | 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/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "clang/Basic/BuiltinsX86.def"
#include "clang/Basic/BuiltinsX86_64.def"
#include "llvm/Support/X86TargetParser.def"
#include "clang/Basic/X86Target.def"
Include dependency graph for X86.cpp:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::targets
 

Macros

#define BUILTIN(ID, TYPE, ATTRS)   {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr},
 
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)   {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, FEATURE},
 
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)   {#ID, TYPE, ATTRS, HEADER, LANGS, FEATURE},
 
#define BUILTIN(ID, TYPE, ATTRS)   {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr},
 
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)   {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, FEATURE},
 
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)   {#ID, TYPE, ATTRS, HEADER, LANGS, FEATURE},
 
#define X86_FEATURE_COMPAT(VAL, ENUM, STR)   .Case(STR, true)
 
#define X86_VENDOR(ENUM, STRING)   .Case(STRING, true)
 
#define X86_CPU_TYPE_COMPAT_WITH_ALIAS(ARCHNAME, ENUM, STR, ALIAS)   .Cases(STR, ALIAS, true)
 
#define X86_CPU_TYPE_COMPAT(ARCHNAME, ENUM, STR)   .Case(STR, true)
 
#define X86_CPU_SUBTYPE_COMPAT(ARCHNAME, ENUM, STR)   .Case(STR, true)
 
#define PROC(ENUM, STRING, IS64BIT)
 
#define PROC(ENUM, STRING, IS64BIT)   .Case(STRING, CK_##ENUM)
 
#define PROC_ALIAS(ENUM, ALIAS)   .Case(ALIAS, CK_##ENUM)
 

Variables

const 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, ALL_LANGUAGES, nullptr},

◆ BUILTIN [2/2]

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

◆ PROC [1/2]

#define PROC (   ENUM,
  STRING,
  IS64BIT 
)
Value:
case CK_##ENUM: \
return IS64BIT || getTriple().getArch() == llvm::Triple::x86;

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

◆ PROC [2/2]

#define PROC (   ENUM,
  STRING,
  IS64BIT 
)    .Case(STRING, CK_##ENUM)

◆ PROC_ALIAS

#define PROC_ALIAS (   ENUM,
  ALIAS 
)    .Case(ALIAS, CK_##ENUM)

◆ TARGET_BUILTIN [1/2]

#define TARGET_BUILTIN (   ID,
  TYPE,
  ATTRS,
  FEATURE 
)    {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, FEATURE},

◆ TARGET_BUILTIN [2/2]

#define TARGET_BUILTIN (   ID,
  TYPE,
  ATTRS,
  FEATURE 
)    {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, FEATURE},

◆ TARGET_HEADER_BUILTIN [1/2]

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

◆ TARGET_HEADER_BUILTIN [2/2]

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

◆ X86_CPU_SUBTYPE_COMPAT

#define X86_CPU_SUBTYPE_COMPAT (   ARCHNAME,
  ENUM,
  STR 
)    .Case(STR, true)

◆ X86_CPU_TYPE_COMPAT

#define X86_CPU_TYPE_COMPAT (   ARCHNAME,
  ENUM,
  STR 
)    .Case(STR, true)

◆ X86_CPU_TYPE_COMPAT_WITH_ALIAS

#define X86_CPU_TYPE_COMPAT_WITH_ALIAS (   ARCHNAME,
  ENUM,
  STR,
  ALIAS 
)    .Cases(STR, ALIAS, true)

◆ X86_FEATURE_COMPAT

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

◆ X86_VENDOR

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