jdoerfert added a comment. In D99432#2653483 <https://reviews.llvm.org/D99432#2653483>, @ABataev wrote:
> In D99432#2653474 <https://reviews.llvm.org/D99432#2653474>, @jdoerfert wrote: > >> Can we please always do the globalization, even in the `target teams >> distribute parallel for` case you need it if a thread shares the address of >> a local variable with the team and another thread uses it. > > Could you give a small example so I could better understand the problem? I didn't fine my old example, this should do though: https://godbolt.org/z/En7To6xEW On the host or host offload I see: Mine: 0, Other: 42 On a GPU I see: CUDA error: Error when synchronizing stream. stream = 0x000000004294db40, async info ptr = 0x00007fffdd939838 CUDA error: an illegal memory access was encountered > Shall we globalize the variable in SPMD mode if we pass it by reference/take > address in any case? Yes. I think that is strictly speaking necessary. We should commit it together with the patches that "undo" globalization though. >> There is no argument other than "doesn't escape" that Clang can make to >> disprove globalization is needed, IMHO. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99432/new/ https://reviews.llvm.org/D99432 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits