================
@@ -5154,15 +5163,40 @@ Driver::BuildOffloadingActions(Compilation &C,
llvm::opt::DerivedArgList &Args,
(OffloadTriple->getOS() == llvm::Triple::OSType::AMDHSA ||
OffloadTriple->getOS() == llvm::Triple::OSType::ChipStar);
- if ((A->getType() != types::TY_Object && !IsHIPSPV &&
- A->getType() != types::TY_LTO_BC) ||
- HIPRelocatableObj || !HIPNoRDC || !offloadDeviceOnly())
+ if (HIPRelocatableObj || !HIPNoRDC || !offloadDeviceOnly()) {
----------------
yxsamliu wrote:
The N inputs are different GPU architectures of the same TU. A single wrapper
invocation lets `--offload-jobs` link the architectures in parallel and then
emit the TU’s fat binary. With N wrapper invocations, each wrapper would have
only one link job, and we would need another step to bundle the N outputs.
Different TUs are only linked together in RDC mode.
https://github.com/llvm/llvm-project/pull/211675
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits