clang  6.0.0svn
Public Types | Public Member Functions | Protected Attributes | List of all members
clang::CodeGen::CGCUDARuntime Class Referenceabstract

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CGCUDARuntime.h"

Collaboration diagram for clang::CodeGen::CGCUDARuntime:
Collaboration graph
[legend]

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

CodeGenModuleCGM
 

Detailed Description

Definition at line 36 of file CGCUDARuntime.h.

Member Enumeration Documentation

◆ DeviceVarFlags

Enumerator
ExternDeviceVar 
ConstantDeviceVar 

Definition at line 42 of file CGCUDARuntime.h.

Constructor & Destructor Documentation

◆ CGCUDARuntime()

clang::CodeGen::CGCUDARuntime::CGCUDARuntime ( CodeGenModule CGM)
inline

Definition at line 47 of file CGCUDARuntime.h.

◆ ~CGCUDARuntime()

CGCUDARuntime::~CGCUDARuntime ( )
virtual

Definition at line 25 of file CGCUDARuntime.cpp.

Member Function Documentation

◆ EmitCUDAKernelCallExpr()

RValue CGCUDARuntime::EmitCUDAKernelCallExpr ( CodeGenFunction CGF,
const CUDAKernelCallExpr E,
ReturnValueSlot  ReturnValue 
)
virtual

Definition at line 27 of file CGCUDARuntime.cpp.

◆ emitDeviceStub()

virtual void clang::CodeGen::CGCUDARuntime::emitDeviceStub ( CodeGenFunction CGF,
FunctionArgList Args 
)
pure virtual

Emits a kernel launch stub.

Referenced by clang::CodeGen::CodeGenFunction::GenerateCode().

◆ makeModuleCtorFunction()

virtual llvm::Function* clang::CodeGen::CGCUDARuntime::makeModuleCtorFunction ( )
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.

◆ makeModuleDtorFunction()

virtual llvm::Function* clang::CodeGen::CGCUDARuntime::makeModuleDtorFunction ( )
pure virtual

Returns a module cleanup function or nullptr if it's not needed.

Must be called after ModuleCtorFunction

◆ registerDeviceVar()

virtual void clang::CodeGen::CGCUDARuntime::registerDeviceVar ( llvm::GlobalVariable &  Var,
unsigned  Flags 
)
pure virtual

Member Data Documentation

◆ CGM

CodeGenModule& clang::CodeGen::CGCUDARuntime::CGM
protected

Definition at line 38 of file CGCUDARuntime.h.


The documentation for this class was generated from the following files: