[clang] c249463 - [OpenMP] Fix `-foffload-lto` for offloading to Nvidia
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 11 11:41:06 PDT 2022
Author: Joseph Huber
Date: 2022-10-11T13:40:42-05:00
New Revision: c2494635f47d94ca1c596fe5e0983295aba81853
URL: https://github.com/llvm/llvm-project/commit/c2494635f47d94ca1c596fe5e0983295aba81853
DIFF: https://github.com/llvm/llvm-project/commit/c2494635f47d94ca1c596fe5e0983295aba81853.diff
LOG: [OpenMP] Fix `-foffload-lto` for offloading to Nvidia
Summary:
A previous patch ensured that we can't use `-foffload-lto` with CUDA in
non-RDC mode. This did not correctly check for if we were actually
offloading to CUDA so it ended up preventing us from using LTO for
OpenMP.
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 93e0a18e7da9..83023a155dee 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4851,7 +4851,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
options::OPT_foffload_lto_EQ)
->getAsString(Args)
<< Triple.getTriple();
- } else if (Triple.isNVPTX() && !IsRDCMode) {
+ } else if (Triple.isNVPTX() && !IsRDCMode &&
+ JA.isDeviceOffloading(Action::OFK_Cuda)) {
D.Diag(diag::err_drv_unsupported_opt_for_language_mode)
<< Args.getLastArg(options::OPT_foffload_lto,
options::OPT_foffload_lto_EQ)
More information about the cfe-commits
mailing list