1*81ad6265SDimitry Andric //===----- CGHLSLRuntime.h - Interface to HLSL Runtimes -----*- C++ -*-===// 2*81ad6265SDimitry Andric // 3*81ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*81ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*81ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*81ad6265SDimitry Andric // 7*81ad6265SDimitry Andric //===----------------------------------------------------------------------===// 8*81ad6265SDimitry Andric // 9*81ad6265SDimitry Andric // This provides an abstract class for HLSL code generation. Concrete 10*81ad6265SDimitry Andric // subclasses of this implement code generation for specific HLSL 11*81ad6265SDimitry Andric // runtime libraries. 12*81ad6265SDimitry Andric // 13*81ad6265SDimitry Andric //===----------------------------------------------------------------------===// 14*81ad6265SDimitry Andric 15*81ad6265SDimitry Andric #ifndef LLVM_CLANG_LIB_CODEGEN_CGHLSLRUNTIME_H 16*81ad6265SDimitry Andric #define LLVM_CLANG_LIB_CODEGEN_CGHLSLRUNTIME_H 17*81ad6265SDimitry Andric 18*81ad6265SDimitry Andric namespace clang { 19*81ad6265SDimitry Andric 20*81ad6265SDimitry Andric namespace CodeGen { 21*81ad6265SDimitry Andric 22*81ad6265SDimitry Andric class CodeGenModule; 23*81ad6265SDimitry Andric 24*81ad6265SDimitry Andric class CGHLSLRuntime { 25*81ad6265SDimitry Andric protected: 26*81ad6265SDimitry Andric CodeGenModule &CGM; 27*81ad6265SDimitry Andric 28*81ad6265SDimitry Andric public: 29*81ad6265SDimitry Andric CGHLSLRuntime(CodeGenModule &CGM) : CGM(CGM) {} 30*81ad6265SDimitry Andric virtual ~CGHLSLRuntime() {} 31*81ad6265SDimitry Andric 32*81ad6265SDimitry Andric void finishCodeGen(); 33*81ad6265SDimitry Andric }; 34*81ad6265SDimitry Andric 35*81ad6265SDimitry Andric } // namespace CodeGen 36*81ad6265SDimitry Andric } // namespace clang 37*81ad6265SDimitry Andric 38*81ad6265SDimitry Andric #endif 39