[llvm-branch-commits] [clang] 0dd4f00 - [OpenMP]Fix PR50336: Remove temporary files in the offload bundler tool
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Aug 16 11:34:32 PDT 2021
Author: Joseph Huber
Date: 2021-08-16T11:34:06-07:00
New Revision: 0dd4f002e1d3ccddfc519e02f9ab5cdd9c8d26d1
URL: https://github.com/llvm/llvm-project/commit/0dd4f002e1d3ccddfc519e02f9ab5cdd9c8d26d1
DIFF: https://github.com/llvm/llvm-project/commit/0dd4f002e1d3ccddfc519e02f9ab5cdd9c8d26d1.diff
LOG: [OpenMP]Fix PR50336: Remove temporary files in the offload bundler tool
Temporary files created by the offloading device toolchain are not removed
after compilation when using a two-step compilation. The offload-bundler uses a
different filename for the device binary than the `.o` file present in the
Job's input list. This is not listed as a temporary file so it is never
removed. This patch explicitly adds the device binary as a temporary file to
consume it. This fixes PR50336.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D107668
(cherry picked from commit 01d59c0de822099c62f12f275c41338f6df9f5ac)
Added:
Modified:
clang/lib/Driver/ToolChains/Clang.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 1870bd81789c5..0e129e6f2fac8 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -7690,8 +7690,11 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA,
assert(CurTC == nullptr && "Expected one dependence!");
CurTC = TC;
});
+ UB += C.addTempFile(
+ C.getArgs().MakeArgString(CurTC->getInputFilename(Inputs[I])));
+ } else {
+ UB += CurTC->getInputFilename(Inputs[I]);
}
- UB += CurTC->getInputFilename(Inputs[I]);
}
CmdArgs.push_back(TCArgs.MakeArgString(UB));
More information about the llvm-branch-commits
mailing list