yaxunl added a comment. In D153667#4450724 <https://reviews.llvm.org/D153667#4450724>, @jhuber6 wrote:
> In D153667#4450705 <https://reviews.llvm.org/D153667#4450705>, @jrbyrnes > wrote: > >> In D153667#4450517 <https://reviews.llvm.org/D153667#4450517>, @jhuber6 >> wrote: >> >>> What's the difference here between this and the existing `--hip-link`? >> >> Hi @jhuber6 >> >> The commit is poorly named, the main purpose is to introduce >> `-no-gpu-link-output.` >> >> We want a way to produce relocatable from source. In terms of the Driver, >> this means building actions and jobs for phases up to `phases::Assemble`. >> `-no- gpu-link-output` does this by overriding BuildActions to stop after >> `phases::Assemble` (similar to `-no-gpu-bundle-output`). `-gpu-link-output` >> is NFCI. COMGR would be the client of this, and it would be up to COMGR to >> handle linking of the relocatable. >> >> AFAICT, `-hip-link` allows for linking of offload-bundles, so it is >> conceptually different. We can get (somewhat) close to what we with >> `-emit-llvm -hip-link`, but that is probably more due to `-emit-llvm`. >> `-hip-link` by itself produces linker actions / jobs which what we are >> trying to avoid here. > > So, you run the backend and obtain a relocatable ELF, but do not link it via > `lld`? If I'm understanding this correctly, that would be the difference > between `-flto` and `-fno-lto`, or `-foffload-lto` and `-fno-offload-lto`, > AMDGPU always having `-flto` on currently. Also I recall AMDGPU / HIP > completely disabling the backend step at some point, so it only emits LLVM-IR. For -fno-gpu-rdc case we do not use lto. Since -fno-gpu-rdc has one TU only, we use the non-lto backend to get relocatable object, and use lld for relocatable to shared object. This patch allows us to stop at the relocatable object since comgr needs that. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153667/new/ https://reviews.llvm.org/D153667 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits