[PATCH] D144047: [CUDA][SPIRV] Match builtin types and __GCC_ATOMIC_XXX_LOCK_FREE macros on host/device
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 15 08:06:56 PST 2023
yaxunl added a comment.
In D144047#4129182 <https://reviews.llvm.org/D144047#4129182>, @shangwuyao wrote:
> In D144047#4129154 <https://reviews.llvm.org/D144047#4129154>, @yaxunl wrote:
>
>> Making the builtin types consistent is necessary to keep struct layout consistent across host and device, but why do we need to make __GCC_ATOMIC_XXX_LOCK_FREE macros the same between the host and device? Is there any concrete issue if they are not the same?
>
> The reason is the same as NVPTX, see https://github.com/llvm/llvm-project/blob/22882c39df71397cc6f9774d18e87d06e016c55f/clang/lib/Basic/Targets/NVPTX.cpp#L137-L141. Without it, we won't be able to use libraries that statically check the __atomic_always_lock_free. I could add the comments in the code if that makes things more clear.
I see. Better add some comments about that.
This also means backend needs to handle atomic operations not supported by hardware.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144047/new/
https://reviews.llvm.org/D144047
More information about the cfe-commits
mailing list