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