https://github.com/RiverDave approved this pull request.
LGTM. This is a bit more related to the HIP runtime: I did a quick grep around the codebase and found another gap under `cir::MissingFeatures::hipModuleCtor()` here: https://github.com/llvm/llvm-project/blob/b9057571ff0d5d901145ccbacc60396236c91e59/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp#L2529 It looks like OG appends the CUID hash to `__hip_gpubin_handle` ([CGCUDANV.cpp#L996-L1000](https://github.com/llvm/llvm-project/blob/793137b8a9f92ad09f08701fd297aead07515a50/clang/lib/CodeGen/CGCUDANV.cpp#L996-L1000)), and CIR doesn't. This seems to fire when no fatbin is passed, where OG emits an external `__hip_fatbin[_<cuid>]` in .hip_fatbin ([CGCUDANV.cpp#L920-L932](https://github.com/llvm/llvm-project/blob/793137b8a9f92ad09f08701fd297aead07515a50/clang/lib/CodeGen/CGCUDANV.cpp#L920-L932)), is still only covered by hipModuleCtor. Back then when we were testing our implementation, I'm pretty sure that early return never fired so I'm unsure under which workloads that's a blocker. I think it might be worth implementing this for completeness later on 😛 https://github.com/llvm/llvm-project/pull/229001 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
