LLVM 18.0.0git
|
#include "SPIRVCallLowering.h"
#include "MCTargetDesc/SPIRVBaseInfo.h"
#include "SPIRV.h"
#include "SPIRVBuiltins.h"
#include "SPIRVGlobalRegistry.h"
#include "SPIRVISelLowering.h"
#include "SPIRVRegisterInfo.h"
#include "SPIRVSubtarget.h"
#include "SPIRVUtils.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/Support/ModRef.h"
Go to the source code of this file.
Functions | |
static uint32_t | getFunctionControl (const Function &F) |
static ConstantInt * | getConstInt (MDNode *MD, unsigned NumOp) |
static FunctionType * | getOriginalFunctionType (const Function &F) |
static MDString * | getKernelArgAttribute (const Function &KernelFunction, unsigned ArgIdx, const StringRef AttributeName) |
static SPIRV::AccessQualifier::AccessQualifier | getArgAccessQual (const Function &F, unsigned ArgIdx) |
static std::vector< SPIRV::Decoration::Decoration > | getKernelArgTypeQual (const Function &KernelFunction, unsigned ArgIdx) |
static SPIRVType * | getArgSPIRVType (const Function &F, unsigned ArgIdx, SPIRVGlobalRegistry *GR, MachineIRBuilder &MIRBuilder) |
static bool | isEntryPoint (const Function &F) |
static SPIRV::ExecutionModel::ExecutionModel | getExecutionModel (const SPIRVSubtarget &STI, const Function &F) |
|
static |
Definition at line 172 of file SPIRVCallLowering.cpp.
References llvm::StringRef::compare(), F, getKernelArgAttribute(), llvm::MDString::getString(), and llvm::CallingConv::SPIR_KERNEL.
Referenced by getArgSPIRVType().
|
static |
Definition at line 197 of file SPIRVCallLowering.cpp.
References llvm::addressSpaceToStorageClass(), llvm::StringRef::ends_with(), F, getArgAccessQual(), getKernelArgAttribute(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName(), getOriginalFunctionType(), llvm::FunctionType::getParamType(), llvm::Type::getPointerAddressSpace(), llvm::MDString::getString(), llvm::isSpecialOpaqueType(), llvm_unreachable, llvm::CallingConv::SPIR_KERNEL, and llvm::StringRef::str().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 70 of file SPIRVCallLowering.cpp.
References llvm::MDNode::getNumOperands(), and llvm::MDNode::getOperand().
Referenced by getOriginalFunctionType(), and llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 246 of file SPIRVCallLowering.cpp.
References F, llvm::SPIRVSubtarget::isOpenCLEnv(), llvm::report_fatal_error(), and value.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
Definition at line 52 of file SPIRVCallLowering.cpp.
References llvm::MemoryEffectsBase< LocationEnum >::doesNotAccessMemory(), F, and llvm::MemoryEffectsBase< LocationEnum >::onlyReadsMemory().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 120 of file SPIRVCallLowering.cpp.
References assert(), llvm::Function::getCallingConv(), llvm::GlobalObject::getMetadata(), llvm::Value::getName(), llvm::Module::getNamedMetadata(), llvm::NamedMDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::NamedMDNode::getOperand(), llvm::GlobalValue::getParent(), llvm::ValueAsMetadata::getValue(), llvm::MDNode::operands(), and llvm::CallingConv::SPIR_KERNEL.
Referenced by getArgAccessQual(), getArgSPIRVType(), and getKernelArgTypeQual().
|
static |
Definition at line 189 of file SPIRVCallLowering.cpp.
References llvm::StringRef::compare(), getKernelArgAttribute(), and llvm::MDString::getString().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 82 of file SPIRVCallLowering.cpp.
References assert(), F, llvm::FunctionType::get(), getConstInt(), llvm::MDNode::getOperand(), N, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and RetTy.
Referenced by getArgSPIRVType(), llvm::SPIRVCallLowering::lowerCall(), and llvm::SPIRVCallLowering::lowerFormalArguments().
Definition at line 231 of file SPIRVCallLowering.cpp.
References F, and llvm::CallingConv::SPIR_KERNEL.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().