1*12c85518Srobert //===--- HIPUtility.h - Common HIP Tool Chain Utilities ---------*- 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_HIPUTILITY_H 10*12c85518Srobert #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIPUTILITY_H 11*12c85518Srobert 12*12c85518Srobert #include "clang/Driver/Tool.h" 13*12c85518Srobert 14*12c85518Srobert namespace clang { 15*12c85518Srobert namespace driver { 16*12c85518Srobert namespace tools { 17*12c85518Srobert namespace HIP { 18*12c85518Srobert 19*12c85518Srobert // Construct command for creating HIP fatbin. 20*12c85518Srobert void constructHIPFatbinCommand(Compilation &C, const JobAction &JA, 21*12c85518Srobert StringRef OutputFileName, 22*12c85518Srobert const InputInfoList &Inputs, 23*12c85518Srobert const llvm::opt::ArgList &TCArgs, const Tool &T); 24*12c85518Srobert 25*12c85518Srobert // Construct command for creating Object from HIP fatbin. 26*12c85518Srobert void constructGenerateObjFileFromHIPFatBinary( 27*12c85518Srobert Compilation &C, const InputInfo &Output, const InputInfoList &Inputs, 28*12c85518Srobert const llvm::opt::ArgList &Args, const JobAction &JA, const Tool &T); 29*12c85518Srobert 30*12c85518Srobert } // namespace HIP 31*12c85518Srobert } // namespace tools 32*12c85518Srobert } // namespace driver 33*12c85518Srobert } // namespace clang 34*12c85518Srobert 35*12c85518Srobert #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIPUTILITY_H 36