clang 22.0.0git
clang::Builtin Namespace Reference

Classes

class  Context
 Holds information about both target-independent and target-specific builtins, allowing easy queries by clients. More...
struct  Info
 The info used to represent each builtin. More...
struct  InfosShard
 A shard of a target's builtins string table and info. More...
class  TargetFeatures
 TargetFeatures - This class is used to check whether the builtin function has the required tagert specific features. More...

Enumerations

enum  ID { NotBuiltin = 0 , FirstTSBuiltin }

Functions

template<size_t N>
static constexpr std::array< Info, N > MakeInfos (std::array< Info, N > Infos)
 A constexpr function to construct an infos array from X-macros.
bool evaluateRequiredTargetFeatures (llvm::StringRef RequiredFatures, const llvm::StringMap< bool > &TargetFetureMap)
 Returns true if the required target features of a builtin function are enabled.

Enumeration Type Documentation

◆ ID

Enumerator
NotBuiltin 
FirstTSBuiltin 

Definition at line 67 of file Builtins.h.

Function Documentation

◆ evaluateRequiredTargetFeatures()

bool clang::Builtin::evaluateRequiredTargetFeatures ( llvm::StringRef RequiredFatures,
const llvm::StringMap< bool > & TargetFetureMap )

Returns true if the required target features of a builtin function are enabled.

TargetFeatureMap maps a target feature to true if it is enabled and false if it is disabled.

Referenced by clang::SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall(), clang::checkArmStreamingBuiltin(), clang::CodeGen::CodeGenFunction::checkTargetFeatures(), clang::Sema::checkTypeSupport(), and clang::Sema::CheckVariableDeclarationType().

◆ MakeInfos()

template<size_t N>
constexpr std::array< Info, N > clang::Builtin::MakeInfos ( std::array< Info, N > Infos)
staticconstexpr

A constexpr function to construct an infos array from X-macros.

The input array uses the same data structure, but the offsets are actually lengths when input. This is all we can compute from the X-macro approach to builtins. This function will convert these lengths into actual offsets to a string table built up through sequentially appending strings with the given lengths.

Definition at line 107 of file Builtins.h.

References clang::Builtin::Info::StrOffsets::Attributes, clang::Builtin::Info::StrOffsets::Features, clang::Builtin::Info::StrOffsets::Name, and clang::Builtin::Info::StrOffsets::Type.