[clang] [compiler-rt] [openmp] [Clang] Do not emit `__oclc_abi_version` edge for non-OpenCL (PR #221235)

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 5 05:06:45 PDT 2026


jhuber6 wrote:

> It looks like the ABI bitcode is internalized before the profile runtime is added. Could we also pass the selected ABI bitcode to the final linker-wrapper device link?
> 
> `-mcode-object-version=none` is a contract that the bitcode remains COV-neutral until the final link. Assuming the COV5+ layout works today, but a future COV may change it. Resolving the ABI symbol at the final link would preserve this contract and let generic bitcode use ABI-dependent device-library functions.

I might be fine if we just had logic that allowed libraries to be linked with 'compatible' COV's, or make it a function attribute or something.  We could resolve it at final link, but that's not really how the ROCm Device Libs work so we'd be breaking that. Might be worthwhile to just think up something completely new and deprecate this shared global.

https://github.com/llvm/llvm-project/pull/221235


More information about the cfe-commits mailing list