clang
19.0.0git
|
#include "/home/runner/work/llvm/llvm/repo/clang/lib/CodeGen/CGCUDARuntime.h"
Classes | |
class | DeviceVarFlags |
Public Member Functions | |
CGCUDARuntime (CodeGenModule &CGM) | |
virtual | ~CGCUDARuntime () |
virtual RValue | EmitCUDAKernelCallExpr (CodeGenFunction &CGF, const CUDAKernelCallExpr *E, ReturnValueSlot ReturnValue) |
virtual void | emitDeviceStub (CodeGenFunction &CGF, FunctionArgList &Args)=0 |
Emits a kernel launch stub. More... | |
virtual void | handleVarRegistration (const VarDecl *VD, llvm::GlobalVariable &Var)=0 |
Check whether a variable is a device variable and register it if true. More... | |
virtual llvm::Function * | finalizeModule ()=0 |
Finalize generated LLVM module. More... | |
virtual std::string | getDeviceSideName (const NamedDecl *ND)=0 |
Returns function or variable name on device side even if the current compilation is for host. More... | |
virtual llvm::GlobalValue * | getKernelHandle (llvm::Function *Stub, GlobalDecl GD)=0 |
Get kernel handle by stub function. More... | |
virtual llvm::Function * | getKernelStub (llvm::GlobalValue *Handle)=0 |
Get kernel stub by kernel handle. More... | |
virtual void | internalizeDeviceSideVar (const VarDecl *D, llvm::GlobalValue::LinkageTypes &Linkage)=0 |
Adjust linkage of shadow variables in host compilation. More... | |
Protected Attributes | |
CodeGenModule & | CGM |
Definition at line 42 of file CGCUDARuntime.h.
|
inline |
Definition at line 82 of file CGCUDARuntime.h.
|
virtual |
Definition at line 24 of file CGCUDARuntime.cpp.
|
virtual |
Definition at line 26 of file CGCUDARuntime.cpp.
References clang::CodeGen::CodeGenFunction::ConditionalEvaluation::begin(), clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(), clang::CodeGen::CodeGenFunction::EmitSimpleCallExpr(), clang::CodeGen::CodeGenFunction::ConditionalEvaluation::end(), clang::CodeGen::RValue::get(), and clang::CUDAKernelCallExpr::getConfig().
Referenced by clang::CodeGen::CodeGenFunction::EmitCUDAKernelCallExpr().
|
pure virtual |
Emits a kernel launch stub.
Referenced by clang::CodeGen::CodeGenFunction::GenerateCode().
|
pure virtual |
Finalize generated LLVM module.
Returns a module constructor function to be added or a null pointer.
|
pure virtual |
Returns function or variable name on device side even if the current compilation is for host.
|
pure virtual |
Get kernel handle by stub function.
Referenced by clang::CodeGen::CodeGenModule::GetAddrOfFunction().
|
pure virtual |
Get kernel stub by kernel handle.
Referenced by EmitDirectCallee().
|
pure virtual |
Check whether a variable is a device variable and register it if true.
Referenced by clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal().
|
pure virtual |
Adjust linkage of shadow variables in host compilation.
|
protected |
Definition at line 44 of file CGCUDARuntime.h.