clang 19.0.0git
Macros | Functions | Variables
PPC.cpp File Reference
#include "PPC.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/MacroBuilder.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/Basic/BuiltinsPPC.def"
#include "llvm/TargetParser/PPCTargetParser.def"

Go to the source code of this file.

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 LIBBUILTIN(ID, TYPE, ATTRS, HEADER)    {#ID, TYPE, ATTRS, nullptr, HeaderDesc::HEADER, ALL_LANGUAGES},
 
#define PPC_LNX_FEATURE(NAME, DESC, ENUMNAME, ENUMVAL, HWCAPN)   .Case(NAME, true)
 
#define PPC_AIX_CPU(NAME, SUPPORT, INDEX, OP, VALUE)   .Case(NAME, true)
 
#define PPC_LNX_CPU(NAME, NUM)   .Case(NAME, true)
 

Functions

static void defineXLCompatMacros (MacroBuilder &Builder)
 
static bool ppcUserFeaturesCheck (DiagnosticsEngine &Diags, const std::vector< std::string > &FeaturesVec)
 

Variables

static constexpr Builtin::Info BuiltinInfo []
 
const TargetInfo::AddlRegName GCCAddlRegNames []
 
static constexpr llvm::StringLiteral ValidCPUNames []
 

Macro Definition Documentation

◆ BUILTIN

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

◆ LIBBUILTIN

#define LIBBUILTIN (   ID,
  TYPE,
  ATTRS,
  HEADER 
)     {#ID, TYPE, ATTRS, nullptr, HeaderDesc::HEADER, ALL_LANGUAGES},

◆ PPC_AIX_CPU

#define PPC_AIX_CPU (   NAME,
  SUPPORT,
  INDEX,
  OP,
  VALUE 
)    .Case(NAME, true)

◆ PPC_LNX_CPU

#define PPC_LNX_CPU (   NAME,
  NUM 
)    .Case(NAME, true)

◆ PPC_LNX_FEATURE

#define PPC_LNX_FEATURE (   NAME,
  DESC,
  ENUMNAME,
  ENUMVAL,
  HWCAPN 
)    .Case(NAME, true)

◆ TARGET_BUILTIN

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

Function Documentation

◆ defineXLCompatMacros()

static void defineXLCompatMacros ( MacroBuilder Builder)
static

Definition at line 100 of file PPC.cpp.

Referenced by clang::targets::PPCTargetInfo::getTargetDefines().

◆ ppcUserFeaturesCheck()

static bool ppcUserFeaturesCheck ( DiagnosticsEngine Diags,
const std::vector< std::string > &  FeaturesVec 
)
static

Variable Documentation

◆ BuiltinInfo

constexpr Builtin::Info BuiltinInfo[]
staticconstexpr
Initial value:
= {
#define BUILTIN(ID, TYPE, ATTRS)
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)
#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER)
}

Definition at line 21 of file PPC.cpp.

◆ GCCAddlRegNames

const TargetInfo::AddlRegName GCCAddlRegNames[]
Initial value:
= {
{{"vs0"}, 32}, {{"vs1"}, 33}, {{"vs2"}, 34}, {{"vs3"}, 35},
{{"vs4"}, 36}, {{"vs5"}, 37}, {{"vs6"}, 38}, {{"vs7"}, 39},
{{"vs8"}, 40}, {{"vs9"}, 41}, {{"vs10"}, 42}, {{"vs11"}, 43},
{{"vs12"}, 44}, {{"vs13"}, 45}, {{"vs14"}, 46}, {{"vs15"}, 47},
{{"vs16"}, 48}, {{"vs17"}, 49}, {{"vs18"}, 50}, {{"vs19"}, 51},
{{"vs20"}, 52}, {{"vs21"}, 53}, {{"vs22"}, 54}, {{"vs23"}, 55},
{{"vs24"}, 56}, {{"vs25"}, 57}, {{"vs26"}, 58}, {{"vs27"}, 59},
{{"vs28"}, 60}, {{"vs29"}, 61}, {{"vs30"}, 62}, {{"vs31"}, 63},
{{"vs32"}, 77}, {{"vs33"}, 78}, {{"vs34"}, 79}, {{"vs35"}, 80},
{{"vs36"}, 81}, {{"vs37"}, 82}, {{"vs38"}, 83}, {{"vs39"}, 84},
{{"vs40"}, 85}, {{"vs41"}, 86}, {{"vs42"}, 87}, {{"vs43"}, 88},
{{"vs44"}, 89}, {{"vs45"}, 90}, {{"vs46"}, 91}, {{"vs47"}, 92},
{{"vs48"}, 93}, {{"vs49"}, 94}, {{"vs50"}, 95}, {{"vs51"}, 96},
{{"vs52"}, 97}, {{"vs53"}, 98}, {{"vs54"}, 99}, {{"vs55"}, 100},
{{"vs56"}, 101}, {{"vs57"}, 102}, {{"vs58"}, 103}, {{"vs59"}, 104},
{{"vs60"}, 105}, {{"vs61"}, 106}, {{"vs62"}, 107}, {{"vs63"}, 108},
}

Definition at line 835 of file PPC.cpp.

Referenced by clang::targets::PPCTargetInfo::getGCCAddlRegNames(), and clang::targets::SystemZTargetInfo::getGCCAddlRegNames().

◆ ValidCPUNames

constexpr llvm::StringLiteral ValidCPUNames[]
staticconstexpr
Initial value:
= {
{"generic"}, {"440"}, {"450"}, {"601"}, {"602"},
{"603"}, {"603e"}, {"603ev"}, {"604"}, {"604e"},
{"620"}, {"630"}, {"g3"}, {"7400"}, {"g4"},
{"7450"}, {"g4+"}, {"750"}, {"8548"}, {"970"},
{"g5"}, {"a2"}, {"e500"}, {"e500mc"}, {"e5500"},
{"power3"}, {"pwr3"}, {"power4"}, {"pwr4"}, {"power5"},
{"pwr5"}, {"power5x"}, {"pwr5x"}, {"power6"}, {"pwr6"},
{"power6x"}, {"pwr6x"}, {"power7"}, {"pwr7"}, {"power8"},
{"pwr8"}, {"power9"}, {"pwr9"}, {"power10"}, {"pwr10"},
{"powerpc"}, {"ppc"}, {"ppc32"}, {"powerpc64"}, {"ppc64"},
{"powerpc64le"}, {"ppc64le"}, {"future"}}

Definition at line 859 of file PPC.cpp.