#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCUDARuntime.h"
|
| | CGCUDARuntime (CodeGenModule &CGM) |
| virtual | ~CGCUDARuntime () |
| virtual RValue | EmitCUDAKernelCallExpr (CodeGenFunction &CGF, const CUDAKernelCallExpr *E, ReturnValueSlot ReturnValue, llvm::CallBase **CallOrInvoke=nullptr) |
| virtual RValue | EmitCUDADeviceKernelCallExpr (CodeGenFunction &CGF, const CUDAKernelCallExpr *E, ReturnValueSlot ReturnValue, llvm::CallBase **CallOrInvoke=nullptr) |
| virtual void | emitDeviceStub (CodeGenFunction &CGF, FunctionArgList &Args)=0 |
| | Emits a kernel launch stub.
|
| virtual void | handleVarRegistration (const VarDecl *VD, llvm::GlobalVariable &Var)=0 |
| | Check whether a variable is a device variable and register it if true.
|
| virtual llvm::Function * | finalizeModule ()=0 |
| | Finalize generated LLVM module.
|
| virtual std::string | getDeviceSideName (const NamedDecl *ND)=0 |
| | Returns function or variable name on device side even if the current compilation is for host.
|
| virtual llvm::GlobalValue * | getKernelHandle (llvm::Function *Stub, GlobalDecl GD)=0 |
| | Get kernel handle by stub function.
|
| virtual llvm::Function * | getKernelStub (llvm::GlobalValue *Handle)=0 |
| | Get kernel stub by kernel handle.
|
| virtual void | internalizeDeviceSideVar (const VarDecl *D, llvm::GlobalValue::LinkageTypes &Linkage)=0 |
| | Adjust linkage of shadow variables in host compilation.
|
Definition at line 43 of file CGCUDARuntime.h.
◆ CGCUDARuntime()
| clang::CodeGen::CGCUDARuntime::CGCUDARuntime |
( |
CodeGenModule & | CGM | ) |
|
|
inline |
◆ ~CGCUDARuntime()
| CGCUDARuntime::~CGCUDARuntime |
( |
| ) |
|
|
virtual |
◆ EmitCUDADeviceKernelCallExpr()
Definition at line 62 of file CGCUDARuntime.cpp.
References clang::Addr, clang::CallExpr::arguments(), clang::CodeGen::CodeGenFunction::ConditionalEvaluation::begin(), clang::CodeGen::CodeGenFunction::Builder, CGM, clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CGBuilderTy::CreateConstInBoundsGEP(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CodeGen::CodeGenFunction::EmitCallee(), emitGetParamBuf(), clang::CodeGen::CodeGenFunction::ConditionalEvaluation::end(), clang::CharUnits::fromQuantity(), clang::CodeGen::RValue::get(), clang::Type::getAs(), clang::CallExpr::getCallee(), clang::CUDAKernelCallExpr::getConfig(), clang::CallExpr::getDirectCallee(), clang::Expr::getExprLoc(), clang::CodeGen::CGCallee::getFunctionPointer(), getPointeeType(), clang::Expr::getType(), and clang::CharUnits::Zero().
◆ EmitCUDAKernelCallExpr()
◆ emitDeviceStub()
Emits a kernel launch stub.
◆ finalizeModule()
| virtual llvm::Function * clang::CodeGen::CGCUDARuntime::finalizeModule |
( |
| ) |
|
|
pure virtual |
Finalize generated LLVM module.
Returns a module constructor function to be added or a null pointer.
◆ getDeviceSideName()
| virtual std::string clang::CodeGen::CGCUDARuntime::getDeviceSideName |
( |
const NamedDecl * | ND | ) |
|
|
pure virtual |
Returns function or variable name on device side even if the current compilation is for host.
◆ getKernelHandle()
| virtual llvm::GlobalValue * clang::CodeGen::CGCUDARuntime::getKernelHandle |
( |
llvm::Function * | Stub, |
|
|
GlobalDecl | GD ) |
|
pure virtual |
◆ getKernelStub()
| virtual llvm::Function * clang::CodeGen::CGCUDARuntime::getKernelStub |
( |
llvm::GlobalValue * | Handle | ) |
|
|
pure virtual |
◆ handleVarRegistration()
| virtual void clang::CodeGen::CGCUDARuntime::handleVarRegistration |
( |
const VarDecl * | VD, |
|
|
llvm::GlobalVariable & | Var ) |
|
pure virtual |
◆ internalizeDeviceSideVar()
| virtual void clang::CodeGen::CGCUDARuntime::internalizeDeviceSideVar |
( |
const VarDecl * | D, |
|
|
llvm::GlobalValue::LinkageTypes & | Linkage ) |
|
pure virtual |
Adjust linkage of shadow variables in host compilation.
◆ CGM
The documentation for this class was generated from the following files: