LLVM 22.0.0git
SPIRVBuiltins.cpp File Reference
#include "SPIRVBuiltins.h"
#include "SPIRV.h"
#include "SPIRVSubtarget.h"
#include "SPIRVUtils.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/IntrinsicsSPIRV.h"
#include <regex>
#include <string>
#include <tuple>
#include "SPIRVGenTables.inc"

Go to the source code of this file.

Classes

struct  llvm::SPIRV::DemangledBuiltin
struct  llvm::SPIRV::IncomingCall
struct  llvm::SPIRV::NativeBuiltin
struct  llvm::SPIRV::GroupBuiltin
struct  llvm::SPIRV::IntelSubgroupsBuiltin
struct  llvm::SPIRV::AtomicFloatingBuiltin
struct  llvm::SPIRV::GroupUniformBuiltin
struct  llvm::SPIRV::GetBuiltin
struct  llvm::SPIRV::ImageQueryBuiltin
struct  llvm::SPIRV::IntegerDotProductBuiltin
struct  llvm::SPIRV::ConvertBuiltin
struct  llvm::SPIRV::VectorLoadStoreBuiltin
struct  llvm::SPIRV::BuiltinType
struct  llvm::SPIRV::OpenCLType

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::SPIRV

Macros

#define DEBUG_TYPE   "spirv-builtins"
#define GET_BuiltinGroup_DECL
#define GET_DemangledBuiltins_DECL
#define GET_DemangledBuiltins_IMPL
#define GET_NativeBuiltins_DECL
#define GET_NativeBuiltins_IMPL
#define GET_GroupBuiltins_DECL
#define GET_GroupBuiltins_IMPL
#define GET_IntelSubgroupsBuiltins_DECL
#define GET_IntelSubgroupsBuiltins_IMPL
#define GET_AtomicFloatingBuiltins_DECL
#define GET_AtomicFloatingBuiltins_IMPL
#define GET_GroupUniformBuiltins_DECL
#define GET_GroupUniformBuiltins_IMPL
#define GET_GetBuiltins_DECL
#define GET_GetBuiltins_IMPL
#define GET_ImageQueryBuiltins_DECL
#define GET_ImageQueryBuiltins_IMPL
#define GET_IntegerDotProductBuiltins_DECL
#define GET_IntegerDotProductBuiltins_IMPL
#define GET_ConvertBuiltins_DECL
#define GET_ConvertBuiltins_IMPL
#define GET_VectorLoadStoreBuiltins_DECL
#define GET_VectorLoadStoreBuiltins_IMPL
#define GET_CLMemoryScope_DECL
#define GET_CLSamplerAddressingMode_DECL
#define GET_CLMemoryFenceFlags_DECL
#define GET_ExtendedBuiltins_DECL
#define GET_BuiltinTypes_DECL
#define GET_BuiltinTypes_IMPL
#define GET_OpenCLTypes_DECL
#define GET_OpenCLTypes_IMPL

Functions

std::string llvm::SPIRV::lookupBuiltinNameHelper (StringRef DemangledCall, FPDecorationId *DecorationId)
 Parses the name part of the demangled builtin call.
static std::unique_ptr< const SPIRV::IncomingCallllvm::lookupBuiltin (StringRef DemangledCall, SPIRV::InstructionSet::InstructionSet Set, Register ReturnRegister, const SPIRVType *ReturnType, const SmallVectorImpl< Register > &Arguments)
 Looks up the demangled builtin call in the SPIRVBuiltins.td records using the provided DemangledCall and specified Set.
static MachineInstrllvm::getBlockStructInstr (Register ParamReg, MachineRegisterInfo *MRI)
static unsigned llvm::getConstFromIntrinsic (Register Reg, MachineRegisterInfo *MRI)
static const Typellvm::getMachineInstrType (MachineInstr *MI)
static const Typellvm::getBlockStructType (Register ParamReg, MachineRegisterInfo *MRI)
static std::tuple< Register, SPIRVType * > llvm::buildBoolRegister (MachineIRBuilder &MIRBuilder, const SPIRVType *ResultType, SPIRVGlobalRegistry *GR)
 Helper function building either a resulting scalar or vector bool register depending on the expected ResultType.
static bool llvm::buildSelectInst (MachineIRBuilder &MIRBuilder, Register ReturnRegister, Register SourceRegister, const SPIRVType *ReturnType, SPIRVGlobalRegistry *GR)
 Helper function for building either a vector or scalar select instruction depending on the expected ResultType.
static Register llvm::buildLoadInst (SPIRVType *BaseType, Register PtrRegister, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR, LLT LowLevelType, Register DestinationReg=Register(0))
 Helper function for building a load instruction loading into the DestinationReg.
static Register llvm::buildBuiltinVariableLoad (MachineIRBuilder &MIRBuilder, SPIRVType *VariableType, SPIRVGlobalRegistry *GR, SPIRV::BuiltIn::BuiltIn BuiltinValue, LLT LLType, Register Reg=Register(0), bool isConst=true, bool hasLinkageTy=true)
 Helper function for building a load instruction for loading a builtin global variable of BuiltinValue value.
void llvm::insertAssignInstr (Register Reg, Type *Ty, SPIRVType *SpirvTy, SPIRVGlobalRegistry *GR, MachineIRBuilder &MIB, MachineRegisterInfo &MRI)
 Helper external function for inserting ASSIGN_TYPE instuction between Reg and its definition, set the new register as a destination of the definition, assign SPIRVType to both registers.
static SPIRV::MemorySemantics::MemorySemantics llvm::getSPIRVMemSemantics (std::memory_order MemOrder)
static SPIRV::Scope::Scope llvm::getSPIRVScope (SPIRV::CLMemoryScope ClScope)
static Register llvm::buildConstantIntReg32 (uint64_t Val, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static Register llvm::buildScopeReg (Register CLScopeRegister, SPIRV::Scope::Scope Scope, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR, MachineRegisterInfo *MRI)
static void llvm::setRegClassIfNull (Register Reg, MachineRegisterInfo *MRI, SPIRVGlobalRegistry *GR)
static Register llvm::buildMemSemanticsReg (Register SemanticsRegister, Register PtrRegister, unsigned &Semantics, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::buildOpFromWrapper (MachineIRBuilder &MIRBuilder, unsigned Opcode, const SPIRV::IncomingCall *Call, Register TypeReg, ArrayRef< uint32_t > ImmArgs={})
static bool llvm::buildAtomicInitInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder)
 Helper function for translating atomic init to OpStore.
static bool llvm::buildAtomicLoadInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building an atomic load instruction.
static bool llvm::buildAtomicStoreInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building an atomic store instruction.
static bool llvm::buildAtomicCompareExchangeInst (const SPIRV::IncomingCall *Call, const SPIRV::DemangledBuiltin *Builtin, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building an atomic compare-exchange instruction.
static bool llvm::buildAtomicRMWInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building atomic instructions.
static bool llvm::buildAtomicFloatingRMWInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building an atomic floating-type instruction.
static bool llvm::buildAtomicFlagInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building atomic flag instructions (e.g.
static bool llvm::buildBarrierInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building barriers, i.e., memory/control ordering operations.
static bool llvm::buildExtendedBitOpsInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building extended bit operations.
static bool llvm::buildBindlessImageINTELInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building Intel's bindless image instructions.
static bool llvm::buildTernaryBitwiseFunctionINTELInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building Intel's OpBitwiseFunctionINTEL instruction.
static bool llvm::build2DBlockIOINTELInst (const SPIRV::IncomingCall *Call, unsigned Opcode, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Helper function for building Intel's 2d block io instructions.
static unsigned llvm::getNumComponentsForDim (SPIRV::Dim::Dim dim)
static unsigned llvm::getNumSizeComponents (SPIRVType *imgType)
 Helper function for obtaining the number of size components.
static bool llvm::generateExtInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateRelationalInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateGroupInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateIntelSubgroupsInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateGroupUniformInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateKernelClockInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::genWorkgroupQuery (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR, SPIRV::BuiltIn::BuiltIn BuiltinValue, uint64_t DefaultValue)
static bool llvm::generateBuiltinVar (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateAtomicInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateAtomicFloatingInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateBarrierInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateCastToPtrInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateDotOrFMulInst (const StringRef DemangledCall, const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateWaveInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateICarryBorrowInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateGetQueryInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateImageSizeQueryInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateImageMiscQueryInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRV::SamplerAddressingMode::SamplerAddressingMode llvm::getSamplerAddressingModeFromBitmask (unsigned Bitmask)
static unsigned llvm::getSamplerParamFromBitmask (unsigned Bitmask)
static SPIRV::SamplerFilterMode::SamplerFilterMode llvm::getSamplerFilterModeFromBitmask (unsigned Bitmask)
static bool llvm::generateReadImageInst (const StringRef DemangledCall, const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateWriteImageInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateSampleImageInst (const StringRef DemangledCall, const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateSelectInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder)
static bool llvm::generateConstructInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateCoopMatrInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateSpecConstantInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateExtendedBitOpsInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateBindlessImageINTELInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateTernaryBitwiseFunctionINTELInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generate2DBlockIOINTELInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::buildNDRange (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getOrCreateSPIRVDeviceEventPointer (MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::buildEnqueueKernel (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateEnqueueInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateAsyncCopy (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateConvertInst (const StringRef DemangledCall, const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateVectorLoadStoreInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static bool llvm::generateLoadStoreInst (const SPIRV::IncomingCall *Call, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
std::tuple< int, unsigned, unsignedllvm::SPIRV::mapBuiltinToOpcode (const StringRef DemangledCall, SPIRV::InstructionSet::InstructionSet Set)
 Helper function for finding a builtin function attributes by a demangled function name.
std::optional< boolllvm::SPIRV::lowerBuiltin (const StringRef DemangledCall, SPIRV::InstructionSet::InstructionSet Set, MachineIRBuilder &MIRBuilder, const Register OrigRet, const Type *OrigRetTy, const SmallVectorImpl< Register > &Args, SPIRVGlobalRegistry *GR)
Typellvm::SPIRV::parseBuiltinCallArgumentType (StringRef TypeStr, LLVMContext &Ctx)
bool llvm::SPIRV::parseBuiltinTypeStr (SmallVector< StringRef, 10 > &BuiltinArgsTypeStrs, const StringRef DemangledCall, LLVMContext &Ctx)
Typellvm::SPIRV::parseBuiltinCallArgumentBaseType (const StringRef DemangledCall, unsigned ArgIdx, LLVMContext &Ctx)
 Parses the provided ArgIdx argument base type in the DemangledCall skeleton.
static Typellvm::parseTypeString (const StringRef Name, LLVMContext &Context)
static SPIRVTypellvm::getNonParameterizedType (const TargetExtType *ExtensionType, const SPIRV::BuiltinType *TypeRecord, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getSamplerType (MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getPipeType (const TargetExtType *ExtensionType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getCoopMatrType (const TargetExtType *ExtensionType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getSampledImageType (const TargetExtType *OpaqueType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getInlineSpirvType (const TargetExtType *ExtensionType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getVulkanBufferType (const TargetExtType *ExtensionType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
static SPIRVTypellvm::getLayoutType (const TargetExtType *ExtensionType, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
TargetExtTypellvm::SPIRV::parseBuiltinTypeNameToTargetExtType (std::string TypeName, LLVMContext &Context)
 Translates a string representing a SPIR-V or OpenCL builtin type to a TargetExtType that can be further lowered with lowerBuiltinType().
SPIRVTypellvm::SPIRV::lowerBuiltinType (const Type *OpaqueType, SPIRV::AccessQualifier::AccessQualifier AccessQual, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "spirv-builtins"

Definition at line 25 of file SPIRVBuiltins.cpp.

◆ GET_AtomicFloatingBuiltins_DECL

#define GET_AtomicFloatingBuiltins_DECL

Definition at line 105 of file SPIRVBuiltins.cpp.

◆ GET_AtomicFloatingBuiltins_IMPL

#define GET_AtomicFloatingBuiltins_IMPL

Definition at line 106 of file SPIRVBuiltins.cpp.

◆ GET_BuiltinGroup_DECL

#define GET_BuiltinGroup_DECL

Definition at line 29 of file SPIRVBuiltins.cpp.

◆ GET_BuiltinTypes_DECL

#define GET_BuiltinTypes_DECL

Definition at line 3027 of file SPIRVBuiltins.cpp.

◆ GET_BuiltinTypes_IMPL

#define GET_BuiltinTypes_IMPL

Definition at line 3028 of file SPIRVBuiltins.cpp.

◆ GET_CLMemoryFenceFlags_DECL

#define GET_CLMemoryFenceFlags_DECL

Definition at line 174 of file SPIRVBuiltins.cpp.

◆ GET_CLMemoryScope_DECL

#define GET_CLMemoryScope_DECL

Definition at line 172 of file SPIRVBuiltins.cpp.

◆ GET_CLSamplerAddressingMode_DECL

#define GET_CLSamplerAddressingMode_DECL

Definition at line 173 of file SPIRVBuiltins.cpp.

◆ GET_ConvertBuiltins_DECL

#define GET_ConvertBuiltins_DECL

Definition at line 165 of file SPIRVBuiltins.cpp.

◆ GET_ConvertBuiltins_IMPL

#define GET_ConvertBuiltins_IMPL

Definition at line 166 of file SPIRVBuiltins.cpp.

◆ GET_DemangledBuiltins_DECL

#define GET_DemangledBuiltins_DECL

Definition at line 40 of file SPIRVBuiltins.cpp.

◆ GET_DemangledBuiltins_IMPL

#define GET_DemangledBuiltins_IMPL

Definition at line 41 of file SPIRVBuiltins.cpp.

◆ GET_ExtendedBuiltins_DECL

#define GET_ExtendedBuiltins_DECL

Definition at line 175 of file SPIRVBuiltins.cpp.

◆ GET_GetBuiltins_DECL

#define GET_GetBuiltins_DECL

Definition at line 123 of file SPIRVBuiltins.cpp.

◆ GET_GetBuiltins_IMPL

#define GET_GetBuiltins_IMPL

Definition at line 124 of file SPIRVBuiltins.cpp.

◆ GET_GroupBuiltins_DECL

#define GET_GroupBuiltins_DECL

Definition at line 86 of file SPIRVBuiltins.cpp.

◆ GET_GroupBuiltins_IMPL

#define GET_GroupBuiltins_IMPL

Definition at line 87 of file SPIRVBuiltins.cpp.

◆ GET_GroupUniformBuiltins_DECL

#define GET_GroupUniformBuiltins_DECL

Definition at line 113 of file SPIRVBuiltins.cpp.

◆ GET_GroupUniformBuiltins_IMPL

#define GET_GroupUniformBuiltins_IMPL

Definition at line 114 of file SPIRVBuiltins.cpp.

◆ GET_ImageQueryBuiltins_DECL

#define GET_ImageQueryBuiltins_DECL

Definition at line 132 of file SPIRVBuiltins.cpp.

◆ GET_ImageQueryBuiltins_IMPL

#define GET_ImageQueryBuiltins_IMPL

Definition at line 133 of file SPIRVBuiltins.cpp.

◆ GET_IntegerDotProductBuiltins_DECL

#define GET_IntegerDotProductBuiltins_DECL

Definition at line 141 of file SPIRVBuiltins.cpp.

◆ GET_IntegerDotProductBuiltins_IMPL

#define GET_IntegerDotProductBuiltins_IMPL

Definition at line 142 of file SPIRVBuiltins.cpp.

◆ GET_IntelSubgroupsBuiltins_DECL

#define GET_IntelSubgroupsBuiltins_DECL

Definition at line 97 of file SPIRVBuiltins.cpp.

◆ GET_IntelSubgroupsBuiltins_IMPL

#define GET_IntelSubgroupsBuiltins_IMPL

Definition at line 98 of file SPIRVBuiltins.cpp.

◆ GET_NativeBuiltins_DECL

#define GET_NativeBuiltins_DECL

Definition at line 67 of file SPIRVBuiltins.cpp.

◆ GET_NativeBuiltins_IMPL

#define GET_NativeBuiltins_IMPL

Definition at line 68 of file SPIRVBuiltins.cpp.

◆ GET_OpenCLTypes_DECL

#define GET_OpenCLTypes_DECL

Definition at line 3035 of file SPIRVBuiltins.cpp.

◆ GET_OpenCLTypes_IMPL

#define GET_OpenCLTypes_IMPL

Definition at line 3036 of file SPIRVBuiltins.cpp.

◆ GET_VectorLoadStoreBuiltins_DECL

#define GET_VectorLoadStoreBuiltins_DECL

Definition at line 169 of file SPIRVBuiltins.cpp.

◆ GET_VectorLoadStoreBuiltins_IMPL

#define GET_VectorLoadStoreBuiltins_IMPL

Definition at line 170 of file SPIRVBuiltins.cpp.