38 lines · c
1//===--- HIPUtility.h - Common HIP Tool Chain Utilities ---------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIPUTILITY_H10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIPUTILITY_H11 12#include "clang/Driver/Tool.h"13 14namespace clang {15namespace driver {16namespace tools {17namespace HIP {18 19const char *getTempFile(Compilation &C, StringRef Prefix, StringRef Extension);20 21// Construct command for creating HIP fatbin.22void constructHIPFatbinCommand(Compilation &C, const JobAction &JA,23 StringRef OutputFileName,24 const InputInfoList &Inputs,25 const llvm::opt::ArgList &TCArgs, const Tool &T);26 27// Construct command for creating Object from HIP fatbin.28void constructGenerateObjFileFromHIPFatBinary(29 Compilation &C, const InputInfo &Output, const InputInfoList &Inputs,30 const llvm::opt::ArgList &Args, const JobAction &JA, const Tool &T);31 32} // namespace HIP33} // namespace tools34} // namespace driver35} // namespace clang36 37#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIPUTILITY_H38