clang 22.0.0git
AArch64.cpp File Reference
#include "AArch64.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/AArch64TargetParser.h"
#include "llvm/TargetParser/ARMTargetParserCommon.h"
#include <optional>
#include "clang/Basic/arm_neon.inc"
#include "clang/Basic/arm_fp16.inc"
#include "clang/Basic/arm_sve_builtins.inc"
#include "clang/Basic/arm_sme_builtins.inc"
#include "clang/Basic/BuiltinsAArch64NeonSVEBridge.def"
#include "clang/Basic/BuiltinsAArch64.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::NEON
namespace  clang::NEON::FP16
namespace  clang::SVE
namespace  clang::SME

Macros

#define GET_NEON_BUILTIN_STR_TABLE
#define GET_NEON_BUILTIN_INFOS
#define GET_NEON_BUILTIN_STR_TABLE
#define GET_NEON_BUILTIN_INFOS
#define GET_SVE_BUILTIN_STR_TABLE
#define GET_SVE_BUILTIN_INFOS
#define GET_SME_BUILTIN_STR_TABLE
#define GET_SME_BUILTIN_INFOS
#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_STR_TABLE
#define GET_SVE_BUILTINS
#define BUILTIN   CLANG_BUILTIN_STR_TABLE
#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_STR_TABLE
#define TARGET_HEADER_BUILTIN   CLANG_TARGET_HEADER_BUILTIN_STR_TABLE
#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_ENTRY
#define GET_SVE_BUILTINS
#define BUILTIN   CLANG_BUILTIN_ENTRY
#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_ENTRY
#define LANGBUILTIN   CLANG_LANGBUILTIN_ENTRY
#define TARGET_HEADER_BUILTIN   CLANG_TARGET_HEADER_BUILTIN_ENTRY
#define ARM_ACLE_VERSION(Y, Q, P)

Functions

static unsigned matchAsmCCConstraint (const char *Name)

Variables

static constexpr int NumNeonBuiltins
static constexpr int NumFp16Builtins
static constexpr int NumSVEBuiltins
static constexpr int NumSVENeonBridgeBuiltins
static constexpr int NumSMEBuiltins = SME::FirstTSBuiltin - SVE::FirstTSBuiltin
static constexpr int NumAArch64Builtins
static constexpr int NumBuiltins
static constexpr std::array< Builtin::Info, NumNeonBuiltinsclang::NEON::BuiltinInfos
static constexpr std::array< Builtin::Info, NumFp16Builtinsclang::NEON::FP16::BuiltinInfos
static constexpr std::array< Builtin::Info, NumSVEBuiltinsclang::SVE::BuiltinInfos
static constexpr std::array< Builtin::Info, NumSMEBuiltinsclang::SME::BuiltinInfos
static constexpr llvm::StringTable BuiltinSVENeonBridgeStrings
static constexpr llvm::StringTable BuiltinAArch64Strings
static constexpr auto BuiltinSVENeonBridgeInfos
static constexpr auto BuiltinAArch64Infos

Macro Definition Documentation

◆ ARM_ACLE_VERSION

#define ARM_ACLE_VERSION ( Y,
Q,
P )
Value:
(100 * (Y) + 10 * (Q) + (P))

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

◆ BUILTIN [1/2]

#define BUILTIN   CLANG_BUILTIN_STR_TABLE

◆ BUILTIN [2/2]

#define BUILTIN   CLANG_BUILTIN_ENTRY

◆ GET_NEON_BUILTIN_INFOS [1/2]

#define GET_NEON_BUILTIN_INFOS

◆ GET_NEON_BUILTIN_INFOS [2/2]

#define GET_NEON_BUILTIN_INFOS

◆ GET_NEON_BUILTIN_STR_TABLE [1/2]

#define GET_NEON_BUILTIN_STR_TABLE

Definition at line 47 of file AArch64.cpp.

◆ GET_NEON_BUILTIN_STR_TABLE [2/2]

#define GET_NEON_BUILTIN_STR_TABLE

Definition at line 47 of file AArch64.cpp.

◆ GET_SME_BUILTIN_INFOS

#define GET_SME_BUILTIN_INFOS

◆ GET_SME_BUILTIN_STR_TABLE

#define GET_SME_BUILTIN_STR_TABLE

Definition at line 83 of file AArch64.cpp.

◆ GET_SVE_BUILTIN_INFOS

#define GET_SVE_BUILTIN_INFOS

◆ GET_SVE_BUILTIN_STR_TABLE

#define GET_SVE_BUILTIN_STR_TABLE

Definition at line 71 of file AArch64.cpp.

◆ GET_SVE_BUILTINS [1/2]

#define GET_SVE_BUILTINS

◆ GET_SVE_BUILTINS [2/2]

#define GET_SVE_BUILTINS

◆ LANGBUILTIN

#define LANGBUILTIN   CLANG_LANGBUILTIN_ENTRY

◆ TARGET_BUILTIN [1/4]

#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_STR_TABLE

◆ TARGET_BUILTIN [2/4]

#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_STR_TABLE

◆ TARGET_BUILTIN [3/4]

#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_ENTRY

◆ TARGET_BUILTIN [4/4]

#define TARGET_BUILTIN   CLANG_TARGET_BUILTIN_ENTRY

◆ TARGET_HEADER_BUILTIN [1/2]

#define TARGET_HEADER_BUILTIN   CLANG_TARGET_HEADER_BUILTIN_STR_TABLE

◆ TARGET_HEADER_BUILTIN [2/2]

#define TARGET_HEADER_BUILTIN   CLANG_TARGET_HEADER_BUILTIN_ENTRY

Function Documentation

◆ matchAsmCCConstraint()

Variable Documentation

◆ BuiltinAArch64Infos

auto BuiltinAArch64Infos
staticconstexpr
Initial value:
=
#define BUILTIN
#define TARGET_BUILTIN
#define LANGBUILTIN
#define TARGET_HEADER_BUILTIN
})
static constexpr std::array< Info, N > MakeInfos(std::array< Info, N > Infos)
A constexpr function to construct an infos array from X-macros.
Definition Builtins.h:107

Definition at line 119 of file AArch64.cpp.

Referenced by clang::targets::AArch64TargetInfo::getTargetBuiltins().

◆ BuiltinAArch64Strings

llvm::StringTable BuiltinAArch64Strings
staticconstexpr
Initial value:
=
#define BUILTIN
#define TARGET_BUILTIN
#define TARGET_HEADER_BUILTIN
#define CLANG_BUILTIN_STR_TABLE_START
Definition Builtins.h:158

Definition at line 103 of file AArch64.cpp.

Referenced by clang::targets::AArch64TargetInfo::getTargetBuiltins().

◆ BuiltinSVENeonBridgeInfos

auto BuiltinSVENeonBridgeInfos
staticconstexpr
Initial value:
=
#define TARGET_BUILTIN
#define GET_SVE_BUILTINS
})

Definition at line 111 of file AArch64.cpp.

Referenced by clang::targets::AArch64TargetInfo::getTargetBuiltins().

◆ BuiltinSVENeonBridgeStrings

llvm::StringTable BuiltinSVENeonBridgeStrings
staticconstexpr
Initial value:
=
#define TARGET_BUILTIN
#define GET_SVE_BUILTINS

Definition at line 95 of file AArch64.cpp.

Referenced by clang::targets::AArch64TargetInfo::getTargetBuiltins().

◆ NumAArch64Builtins

int NumAArch64Builtins
staticconstexpr
Initial value:

Definition at line 37 of file AArch64.cpp.

◆ NumBuiltins

int NumBuiltins
staticconstexpr
Initial value:

Definition at line 39 of file AArch64.cpp.

◆ NumFp16Builtins

int NumFp16Builtins
staticconstexpr
Initial value:

Definition at line 30 of file AArch64.cpp.

◆ NumNeonBuiltins

int NumNeonBuiltins
staticconstexpr
Initial value:

Definition at line 28 of file AArch64.cpp.

◆ NumSMEBuiltins

int NumSMEBuiltins = SME::FirstTSBuiltin - SVE::FirstTSBuiltin
staticconstexpr

Definition at line 36 of file AArch64.cpp.

◆ NumSVEBuiltins

int NumSVEBuiltins
staticconstexpr
Initial value:

Definition at line 32 of file AArch64.cpp.

◆ NumSVENeonBridgeBuiltins

int NumSVENeonBridgeBuiltins
staticconstexpr
Initial value:

Definition at line 34 of file AArch64.cpp.