diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-10-06 18:29:37 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-10-06 18:29:37 +0000 |
commit | fe883422401d9b43229d36d40b909ed0e2183ff0 (patch) | |
tree | 54c3964f52b71da47c225af723c6889c740fcd49 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | a54985ee903886b11ec8eb9d7e8630aa7759c639 (diff) | |
download | bcm5719-llvm-fe883422401d9b43229d36d40b909ed0e2183ff0.tar.gz bcm5719-llvm-fe883422401d9b43229d36d40b909ed0e2183ff0.zip |
CUDA: IR generation support for kernel call expressions
llvm-svn: 141300
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 25e6bb3e239..f5e37897bcb 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -16,6 +16,7 @@ #include "CodeGenFunction.h" #include "CodeGenTBAA.h" #include "CGCall.h" +#include "CGCUDARuntime.h" #include "CGCXXABI.h" #include "CGObjCRuntime.h" #include "CGOpenCLRuntime.h" @@ -66,9 +67,9 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CodeGenOptions &CGO, ABI(createCXXABI(*this)), Types(C, M, TD, getTargetCodeGenInfo().getABIInfo(), ABI, CGO), TBAA(0), - VTables(*this), ObjCRuntime(0), OpenCLRuntime(0), DebugInfo(0), ARCData(0), - RRData(0), CFConstantStringClassRef(0), ConstantStringClassRef(0), - NSConstantStringType(0), + VTables(*this), ObjCRuntime(0), OpenCLRuntime(0), CUDARuntime(0), + DebugInfo(0), ARCData(0), RRData(0), CFConstantStringClassRef(0), + ConstantStringClassRef(0), NSConstantStringType(0), VMContext(M.getContext()), NSConcreteGlobalBlock(0), NSConcreteStackBlock(0), BlockObjectAssign(0), BlockObjectDispose(0), @@ -77,6 +78,8 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CodeGenOptions &CGO, createObjCRuntime(); if (Features.OpenCL) createOpenCLRuntime(); + if (Features.CUDA) + createCUDARuntime(); // Enable TBAA unless it's suppressed. if (!CodeGenOpts.RelaxedAliasing && CodeGenOpts.OptimizationLevel > 0) @@ -113,6 +116,7 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CodeGenOptions &CGO, CodeGenModule::~CodeGenModule() { delete ObjCRuntime; delete OpenCLRuntime; + delete CUDARuntime; delete &ABI; delete TBAA; delete DebugInfo; @@ -131,6 +135,10 @@ void CodeGenModule::createOpenCLRuntime() { OpenCLRuntime = new CGOpenCLRuntime(*this); } +void CodeGenModule::createCUDARuntime() { + CUDARuntime = CreateNVCUDARuntime(*this); +} + void CodeGenModule::Release() { EmitDeferred(); EmitCXXGlobalInitFunc(); |