LLVM 20.0.0git
Namespaces | Functions
SPIRVBuiltins.h File Reference
#include "SPIRVGlobalRegistry.h"
#include "llvm/CodeGen/GlobalISel/CallLowering.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"

Go to the source code of this file.

Namespaces

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

Functions

std::string llvm::SPIRV::lookupBuiltinNameHelper (StringRef DemangledCall, FPDecorationId *DecorationId)
 Parses the name part of the demangled builtin call.
 
std::optional< boolllvm::SPIRV::lowerBuiltin (const StringRef DemangledCall, InstructionSet::InstructionSet Set, MachineIRBuilder &MIRBuilder, const Register OrigRet, const Type *OrigRetTy, const SmallVectorImpl< Register > &Args, SPIRVGlobalRegistry *GR)
 Lowers a builtin function call using the provided DemangledCall skeleton and external instruction Set.
 
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.
 
Typellvm::SPIRV::parseBuiltinCallArgumentBaseType (const StringRef DemangledCall, unsigned ArgIdx, LLVMContext &Ctx)
 Parses the provided ArgIdx argument base type in the DemangledCall skeleton.
 
bool llvm::SPIRV::parseBuiltinTypeStr (SmallVector< StringRef, 10 > &BuiltinArgsTypeStrs, const StringRef DemangledCall, LLVMContext &Ctx)
 
Typellvm::SPIRV::parseBuiltinCallArgumentType (StringRef TypeStr, LLVMContext &Ctx)
 
TargetExtType * llvm::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().
 
SPIRVType * llvm::SPIRV::lowerBuiltinType (const Type *Type, AccessQualifier::AccessQualifier AccessQual, MachineIRBuilder &MIRBuilder, SPIRVGlobalRegistry *GR)
 Handles the translation of the provided special opaque/builtin type Type to SPIR-V type.