CGCUDANV.cpp revision 6c0aa5ff6e6253db0f993053599e2a52b5b93b2d
16c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne//===----- CGCUDANV.cpp - Interface to NVIDIA CUDA Runtime ----------------===// 26c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// 36c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// The LLVM Compiler Infrastructure 46c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// 56c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// This file is distributed under the University of Illinois Open Source 66c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// License. See LICENSE.TXT for details. 76c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// 86c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne//===----------------------------------------------------------------------===// 96c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// 106c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// This provides a class for CUDA code generation targeting the NVIDIA CUDA 116c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// runtime library. 126c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne// 136c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne//===----------------------------------------------------------------------===// 146c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 156c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne#include "CGCUDARuntime.h" 166c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 176c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourneusing namespace clang; 186c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourneusing namespace CodeGen; 196c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 206c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbournenamespace { 216c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 226c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourneclass CGNVCUDARuntime : public CGCUDARuntime { 236c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbournepublic: 246c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne CGNVCUDARuntime(CodeGenModule &CGM); 256c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne}; 266c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 276c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne} 286c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 296c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter CollingbourneCGNVCUDARuntime::CGNVCUDARuntime(CodeGenModule &CGM) : CGCUDARuntime(CGM) { 306c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne} 316c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne 326c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter CollingbourneCGCUDARuntime *CodeGen::CreateNVCUDARuntime(CodeGenModule &CGM) { 336c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne return new CGNVCUDARuntime(CGM); 346c0aa5ff6e6253db0f993053599e2a52b5b93b2dPeter Collingbourne} 35