Author: Joseph Huber Date: 2022-07-12T19:42:04-04:00 New Revision: a3cbb158a277e62dfa19b3740012270b3cfd0a47
URL: https://github.com/llvm/llvm-project/commit/a3cbb158a277e62dfa19b3740012270b3cfd0a47 DIFF: https://github.com/llvm/llvm-project/commit/a3cbb158a277e62dfa19b3740012270b3cfd0a47.diff LOG: [LinkerWrapper] Tweak save-temps output name Summary: A previous patch added the Task to the output filename when doing `save-temps` the majority of cases there is only a single task so we only add the task explicitly to differentiate it from the first one. Added: Modified: clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp Removed: ################################################################################ diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index c1990abe0eaf..78a03d2091ce 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -812,13 +812,14 @@ std::unique_ptr<lto::LTO> createLTO( Conf.PTO.SLPVectorization = Conf.OptLevel > 1; if (SaveTemps) { - std::string TempName = (sys::path::filename(ExecutableName) + "-" + + std::string TempName = (sys::path::filename(ExecutableName) + "-device-" + Triple.getTriple() + "-" + Arch) .str(); Conf.PostInternalizeModuleHook = [=](size_t Task, const Module &M) { - std::string Output = TempName + "." + std::to_string(Task) + ".bc"; + std::string File = !Task ? TempName + ".bc" + : TempName + "." + std::to_string(Task) + ".bc"; error_code EC; - raw_fd_ostream LinkedBitcode(Output, EC, sys::fs::OF_None); + raw_fd_ostream LinkedBitcode(File, EC, sys::fs::OF_None); if (EC) reportError(errorCodeToError(EC)); WriteBitcodeToFile(M, LinkedBitcode); @@ -897,7 +898,7 @@ Error linkBitcodeFiles(SmallVectorImpl<OffloadFile> &InputFiles, // LTO Module hook to output bitcode without running the backend. SmallVector<StringRef, 4> BitcodeOutput; - auto OutputBitcode = [&](size_t Task, const Module &M) { + auto OutputBitcode = [&](size_t, const Module &M) { auto TempFileOrErr = createOutputFile(sys::path::filename(ExecutableName) + "-jit-" + Triple.getTriple(), "bc"); @@ -991,9 +992,10 @@ Error linkBitcodeFiles(SmallVectorImpl<OffloadFile> &InputFiles, int FD = -1; auto &TempFile = Files[Task]; StringRef Extension = (Triple.isNVPTX()) ? "s" : "o"; + std::string TaskStr = Task ? "." + std::to_string(Task) : ""; auto TempFileOrErr = createOutputFile(sys::path::filename(ExecutableName) + "-device-" + - Triple.getTriple() + "." + std::to_string(Task), + Triple.getTriple() + TaskStr, Extension); if (!TempFileOrErr) reportError(TempFileOrErr.takeError()); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits