diff options
author | Teresa Johnson <tejohnson@google.com> | 2018-05-05 14:37:20 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2018-05-05 14:37:20 +0000 |
commit | 81d92073177e4e415c85750a005f4d8cc4294149 (patch) | |
tree | d32c93ee6bbbda8c06f5324d0addbe3da0d8d5bd /llvm/lib | |
parent | 7bf825618c2d3d42d1ddce1c56e8b2047b2a3d96 (diff) | |
download | bcm5719-llvm-81d92073177e4e415c85750a005f4d8cc4294149.tar.gz bcm5719-llvm-81d92073177e4e415c85750a005f4d8cc4294149.zip |
[LTO] Handle Task=-1 passed to addSaveTemps
Summary:
This change is necessary for D46464, which will pass -1 as the Task
ID for distributed backends, so that the save temps files don't end
up with "4294967295" in their path. For distributed back ends, when -1
is passed, don't append any Task ID.
An existing test (tools/clang/test/CodeGen/thinlto_backend.ll) will
fail without this change after D46464.
Reviewers: pcc
Subscribers: mehdi_amini, inglorion, llvm-commits
Differential Revision: https://reviews.llvm.org/D46488
llvm-svn: 331591
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/LTO/LTOBackend.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp index e55da169962..6367aac11f3 100644 --- a/llvm/lib/LTO/LTOBackend.cpp +++ b/llvm/lib/LTO/LTOBackend.cpp @@ -76,10 +76,12 @@ Error Config::addSaveTemps(std::string OutputFileName, // user hasn't requested using the input module's path, emit to a file // named from the provided OutputFileName with the Task ID appended. if (M.getModuleIdentifier() == "ld-temp.o" || !UseInputModulePath) { - PathPrefix = OutputFileName + utostr(Task); + PathPrefix = OutputFileName; + if (Task != (unsigned)-1) + PathPrefix += utostr(Task) + "."; } else - PathPrefix = M.getModuleIdentifier(); - std::string Path = PathPrefix + "." + PathSuffix + ".bc"; + PathPrefix = M.getModuleIdentifier() + "."; + std::string Path = PathPrefix + PathSuffix + ".bc"; std::error_code EC; raw_fd_ostream OS(Path, EC, sys::fs::OpenFlags::F_None); // Because -save-temps is a debugging feature, we report the error |