1*12c85518Srobert //===--- HLSL.h - HLSL ToolChain Implementations ----------------*- C++ -*-===// 2*12c85518Srobert // 3*12c85518Srobert // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*12c85518Srobert // See https://llvm.org/LICENSE.txt for license information. 5*12c85518Srobert // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*12c85518Srobert // 7*12c85518Srobert //===----------------------------------------------------------------------===// 8*12c85518Srobert 9*12c85518Srobert #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H 10*12c85518Srobert #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H 11*12c85518Srobert 12*12c85518Srobert #include "clang/Driver/ToolChain.h" 13*12c85518Srobert 14*12c85518Srobert namespace clang { 15*12c85518Srobert namespace driver { 16*12c85518Srobert 17*12c85518Srobert namespace toolchains { 18*12c85518Srobert 19*12c85518Srobert class LLVM_LIBRARY_VISIBILITY HLSLToolChain : public ToolChain { 20*12c85518Srobert public: 21*12c85518Srobert HLSLToolChain(const Driver &D, const llvm::Triple &Triple, 22*12c85518Srobert const llvm::opt::ArgList &Args); isPICDefault()23*12c85518Srobert bool isPICDefault() const override { return false; } isPIEDefault(const llvm::opt::ArgList & Args)24*12c85518Srobert bool isPIEDefault(const llvm::opt::ArgList &Args) const override { 25*12c85518Srobert return false; 26*12c85518Srobert } isPICDefaultForced()27*12c85518Srobert bool isPICDefaultForced() const override { return false; } 28*12c85518Srobert 29*12c85518Srobert llvm::opt::DerivedArgList * 30*12c85518Srobert TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef BoundArch, 31*12c85518Srobert Action::OffloadKind DeviceOffloadKind) const override; 32*12c85518Srobert static std::optional<std::string> parseTargetProfile(StringRef TargetProfile); 33*12c85518Srobert }; 34*12c85518Srobert 35*12c85518Srobert } // end namespace toolchains 36*12c85518Srobert } // end namespace driver 37*12c85518Srobert } // end namespace clang 38*12c85518Srobert 39*12c85518Srobert #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H 40