#include "HIPUtility.h"
#include "Clang.h"
#include "CommonArgs.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Options.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <deque>
#include <set>
usingnamespaceclang;
usingnamespaceclang::driver;
usingnamespaceclang::driver::tools;
usingnamespacellvm::opt;
dyn_cast;
#if defined(_WIN32) || defined(_WIN64)
#define NULL_FILE …
#else
#define NULL_FILE …
#endif
namespace {
const unsigned HIPCodeObjectAlign = …;
}
static std::string normalizeForBundler(const llvm::Triple &T,
bool HasTargetID) { … }
class HIPUndefinedFatBinSymbols { … };
void HIP::constructHIPFatbinCommand(Compilation &C, const JobAction &JA,
llvm::StringRef OutputFileName,
const InputInfoList &Inputs,
const llvm::opt::ArgList &Args,
const Tool &T) { … }
void HIP::constructGenerateObjFileFromHIPFatBinary(
Compilation &C, const InputInfo &Output, const InputInfoList &Inputs,
const ArgList &Args, const JobAction &JA, const Tool &T) { … }