yaxunl marked an inline comment as done. yaxunl added inline comments.
================ Comment at: clang/lib/Driver/ToolChains/HIP.cpp:116 + if (getOrCheckAMDGPUCodeObjectVersion(C.getDriver(), Args) >= 4) + OffloadKind = OffloadKind + "v4"; for (const auto &II : Inputs) { ---------------- tra wrote: > We do not do it for v2/v3. Could you elaborate on what makes v4 special that > it needs its own offload kind? > > Will you need to target different object versions simultaneously? > If yes, how? AFAICT, the version specified is currently global and applies to > all sub-compilations. > If not, then do we really need to encode the version in the offload target > name? Introducing hipv4 is to differentiate with code object version 2 and 3 which are used by HIP applications compiled by older version of clang. ROCm platform is required to keep binary backward compatibility, i.e., old HIP applications built by ROCm 4.0 should run on ROCm 4.1. The bundle ID has different interpretation depending on whether it is version 2/3 or version 4, e.g. 'gfx906' implies xnack and sramecc off with code object v2/3 but implies xnack and sramecc ANY with v4. Since code object version 2/3 uses 'hip', code object version 4 needs to be different, therefore it uses 'hipv4'. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99235/new/ https://reviews.llvm.org/D99235 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits