[clang] a3cbb15 - [LinkerWrapper] Tweak save-temps output name
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 12 16:42:19 PDT 2022
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());
More information about the cfe-commits
mailing list