LLVM 20.0.0git
|
#include "SPIRVCallLowering.h"
#include "MCTargetDesc/SPIRVBaseInfo.h"
#include "SPIRV.h"
#include "SPIRVBuiltins.h"
#include "SPIRVGlobalRegistry.h"
#include "SPIRVISelLowering.h"
#include "SPIRVMetadata.h"
#include "SPIRVRegisterInfo.h"
#include "SPIRVSubtarget.h"
#include "SPIRVUtils.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/IntrinsicsSPIRV.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 * | fixFunctionTypeIfPtrArgs (SPIRVGlobalRegistry *GR, const Function &F, FunctionType *FTy, const SPIRVType *SRetTy, const SmallVector< SPIRVType *, 4 > &SArgTys) |
static FunctionType * | getOriginalFunctionType (const Function &F) |
static SPIRV::AccessQualifier::AccessQualifier | getArgAccessQual (const Function &F, unsigned ArgIdx) |
static std::vector< SPIRV::Decoration::Decoration > | getKernelArgTypeQual (const Function &F, unsigned ArgIdx) |
static SPIRVType * | getArgSPIRVType (const Function &F, unsigned ArgIdx, SPIRVGlobalRegistry *GR, MachineIRBuilder &MIRBuilder, const SPIRVSubtarget &ST) |
static SPIRV::ExecutionModel::ExecutionModel | getExecutionModel (const SPIRVSubtarget &STI, const Function &F) |
|
static |
Definition at line 94 of file SPIRVCallLowering.cpp.
References F, llvm::FunctionType::get(), llvm::SPIRVGlobalRegistry::getTypeForSPIRVType(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and RetTy.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 166 of file SPIRVCallLowering.cpp.
References F, llvm::getOCLKernelArgAccessQual(), llvm::MDString::getString(), and llvm::CallingConv::SPIR_KERNEL.
Referenced by getArgSPIRVType().
|
static |
Definition at line 189 of file SPIRVCallLowering.cpp.
References llvm::addressSpaceToStorageClass(), assert(), F, getArgAccessQual(), llvm::MetadataAsValue::getMetadata(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVPointerType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), getOriginalFunctionType(), llvm::FunctionType::getParamType(), llvm::getPointeeTypeByAttr(), llvm::getPointerAddressSpace(), llvm::Value::getType(), llvm::hasPointeeTypeAttr(), II, llvm::isPointerTy(), llvm::isTypedPointerTy(), llvm::toTypedPointer(), and llvm::Value::users().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 79 of file SPIRVCallLowering.cpp.
References llvm::MDNode::getNumOperands(), and llvm::MDNode::getOperand().
Referenced by getOriginalFunctionType(), and llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 262 of file SPIRVCallLowering.cpp.
References F, llvm::SPIRVSubtarget::isOpenCLEnv(), llvm::report_fatal_error(), and value.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
Definition at line 61 of file SPIRVCallLowering.cpp.
References llvm::MemoryEffectsBase< LocationEnum >::doesNotAccessMemory(), F, and llvm::MemoryEffectsBase< LocationEnum >::onlyReadsMemory().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 182 of file SPIRVCallLowering.cpp.
References F, llvm::getOCLKernelArgTypeQual(), and llvm::MDString::getString().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
static |
Definition at line 127 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().