clang 20.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 "llvm/TargetParser/PPCTargetParser.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_AIX_FEATURE(NAME, DESC, SUPPORT_METHOD, INDEX, MASK, COMP_OP, VALUE)    .Case(NAME, true)
 
#define PPC_LNX_FEATURE(NAME, DESC, ENUMNAME, ENUMVAL, HWCAPN)   .Case(NAME, true)
 
#define PPC_CPU(NAME, Linux_SUPPORT_METHOD, LinuxID, AIX_SUPPORT_METHOD, AIXID)    .Case(NAME, {Linux_SUPPORT_METHOD, AIX_SUPPORT_METHOD})
 

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 []
 

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_FEATURE

#define PPC_AIX_FEATURE (   NAME,
  DESC,
  SUPPORT_METHOD,
  INDEX,
  MASK,
  COMP_OP,
  VALUE 
)     .Case(NAME, true)

◆ PPC_CPU

#define PPC_CPU (   NAME,
  Linux_SUPPORT_METHOD,
  LinuxID,
  AIX_SUPPORT_METHOD,
  AIXID 
)     .Case(NAME, {Linux_SUPPORT_METHOD, AIX_SUPPORT_METHOD})

◆ 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 111 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 22 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 884 of file PPC.cpp.

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