class CGCUDARuntime
Declaration
class CGCUDARuntime { /* full declaration omitted */ };
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:41
Member Variables
- protected clang::CodeGen::CodeGenModule& CGM
Method Overview
- public CGCUDARuntime(clang::CodeGen::CodeGenModule & CGM)
- public virtual clang::CodeGen::RValue EmitCUDAKernelCallExpr(clang::CodeGen::CodeGenFunction & CGF, const clang::CUDAKernelCallExpr * E, clang::CodeGen::ReturnValueSlot ReturnValue)
- public virtual void emitDeviceStub(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::FunctionArgList & Args)
- public virtual llvm::Function * finalizeModule()
- public virtual std::string getDeviceSideName(const clang::NamedDecl * ND)
- public virtual llvm::GlobalValue * getKernelHandle(llvm::Function * Stub, clang::GlobalDecl GD)
- public virtual llvm::Function * getKernelStub(llvm::GlobalValue * Handle)
- public virtual void handleVarRegistration(const clang::VarDecl * VD, llvm::GlobalVariable & Var)
- public virtual void internalizeDeviceSideVar(const clang::VarDecl * D, llvm::GlobalValue::LinkageTypes & Linkage)
- public virtual ~CGCUDARuntime()
Methods
¶CGCUDARuntime(clang::CodeGen::CodeGenModule& CGM)
CGCUDARuntime(clang::CodeGen::CodeGenModule& CGM)
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:89
Parameters
¶virtual clang::CodeGen::RValue
EmitCUDAKernelCallExpr(
clang::CodeGen::CodeGenFunction& CGF,
const clang::CUDAKernelCallExpr* E,
clang::CodeGen::ReturnValueSlot ReturnValue)
virtual clang::CodeGen::RValue
EmitCUDAKernelCallExpr(
clang::CodeGen::CodeGenFunction& CGF,
const clang::CUDAKernelCallExpr* E,
clang::CodeGen::ReturnValueSlot ReturnValue)
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:92
Parameters
- clang::CodeGen::CodeGenFunction& CGF
- const clang::CUDAKernelCallExpr* E
- clang::CodeGen::ReturnValueSlot ReturnValue
¶virtual void emitDeviceStub(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::FunctionArgList& Args)
virtual void emitDeviceStub(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::FunctionArgList& Args)
Description
Emits a kernel launch stub.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:97
Parameters
¶virtual llvm::Function* finalizeModule()
virtual llvm::Function* finalizeModule()
Description
Finalize generated LLVM module. Returns a module constructor function to be added or a null pointer.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:105
¶virtual std::string getDeviceSideName(
const clang::NamedDecl* ND)
virtual std::string getDeviceSideName(
const clang::NamedDecl* ND)
Description
Returns function or variable name on device side even if the current compilation is for host.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:109
Parameters
- const clang::NamedDecl* ND
¶virtual llvm::GlobalValue* getKernelHandle(
llvm::Function* Stub,
clang::GlobalDecl GD)
virtual llvm::GlobalValue* getKernelHandle(
llvm::Function* Stub,
clang::GlobalDecl GD)
Description
Get kernel handle by stub function.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:112
Parameters
- llvm::Function* Stub
- clang::GlobalDecl GD
¶virtual llvm::Function* getKernelStub(
llvm::GlobalValue* Handle)
virtual llvm::Function* getKernelStub(
llvm::GlobalValue* Handle)
Description
Get kernel stub by kernel handle.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:116
Parameters
- llvm::GlobalValue* Handle
¶virtual void handleVarRegistration(
const clang::VarDecl* VD,
llvm::GlobalVariable& Var)
virtual void handleVarRegistration(
const clang::VarDecl* VD,
llvm::GlobalVariable& Var)
Description
Check whether a variable is a device variable and register it if true.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:100
Parameters
- const clang::VarDecl* VD
- llvm::GlobalVariable& Var
¶virtual void internalizeDeviceSideVar(
const clang::VarDecl* D,
llvm::GlobalValue::LinkageTypes& Linkage)
virtual void internalizeDeviceSideVar(
const clang::VarDecl* D,
llvm::GlobalValue::LinkageTypes& Linkage)
Description
Adjust linkage of shadow variables in host compilation.
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:120
Parameters
- const clang::VarDecl* D
- llvm::GlobalValue::LinkageTypes& Linkage
¶virtual ~CGCUDARuntime()
virtual ~CGCUDARuntime()
Declared at: clang/lib/CodeGen/CGCUDARuntime.h:90