clang
8.0.0
|
#include "/work/www-prereleases/8.0.0/rc2/builddocs/llvm.src/tools/clang/lib/CodeGen/CGCUDARuntime.h"
Public Types | |
enum | DeviceVarFlags { ExternDeviceVar = 0x01, ConstantDeviceVar = 0x02 } |
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 | registerDeviceVar (llvm::GlobalVariable &Var, unsigned Flags)=0 |
virtual llvm::Function * | makeModuleCtorFunction ()=0 |
Constructs and returns a module initialization function or nullptr if it's not needed. More... | |
virtual llvm::Function * | makeModuleDtorFunction ()=0 |
Returns a module cleanup function or nullptr if it's not needed. More... | |
Protected Attributes | |
CodeGenModule & | CGM |
Definition at line 36 of file CGCUDARuntime.h.
Enumerator | |
---|---|
ExternDeviceVar | |
ConstantDeviceVar |
Definition at line 42 of file CGCUDARuntime.h.
|
inline |
Definition at line 47 of file CGCUDARuntime.h.
References clang::CodeGen::CreateNVCUDARuntime().
|
virtual |
Definition at line 25 of file CGCUDARuntime.cpp.
|
virtual |
Definition at line 27 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().
|
pure virtual |
Emits a kernel launch stub.
Referenced by clang::CodeGen::CodeGenFunction::GenerateCode().
|
pure virtual |
Constructs and returns a module initialization function or nullptr if it's not needed.
Must be called after all kernels have been emitted.
|
pure virtual |
Returns a module cleanup function or nullptr if it's not needed.
Must be called after ModuleCtorFunction
|
pure virtual |
Referenced by clang::CodeGen::CodeGenModule::maybeSetTrivialComdat().
|
protected |
Definition at line 38 of file CGCUDARuntime.h.