tra added a comment. Nice.
================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:6999 + if (IsRDCMode) + CmdArgs.push_back("-fgpu-rdc"); + } else if (IsCuda && !HostOffloadingInputs.empty() && !IsRDCMode) { ---------------- This should not be necessary -- we've already added it for all CUDA/HIP compilations above. ================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:7003 + CmdArgs.push_back(HostOffloadingInputs.front().getFilename()); + } else { + for (const InputInfo Input : HostOffloadingInputs) ---------------- I'm not sure I understand when we'd end up in this "else" branch. Perhaps the whole sequence could be restructured this way: ``` if ((IsCuda || IsHIP) && CudaDeviceInput) { // old-style embedding CmdArgs.push_back("-fcuda-include-gpubinary"); CmdArgs.push_back(CudaDeviceInput->getFilename()); } else if (!HostOffloadingInputs.empty()) { // new-driver offloading mode if (Cuda && !IsRDCMode) { assert(HostOffloadingInputs.size() == 1); // We should have only one GPU fatbinary to embed. Uses old-style embedding. CmdArgs.push_back("-fcuda-include-gpubinary"); CmdArgs.push_back(HostOffloadingInputs.front().getFilename()); } else { // new driver embedding of GPU object files. for (const InputInfo Input : HostOffloadingInputs) CmdArgs.push_back(Args.MakeArgString("-fembed-offload-object=" + TC.getInputFilename(Input))); } } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129655/new/ https://reviews.llvm.org/D129655 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits