jdoerfert added subscribers: RaviNarayanaswamy, Anastasia, tra, bader.
jdoerfert added a comment.

In D128907#3652077 <https://reviews.llvm.org/D128907#3652077>, @arsenm wrote:

> In D128907#3650750 <https://reviews.llvm.org/D128907#3650750>, @jdoerfert 
> wrote:
>
>> That said, I doubt this is even what we want. Throwing away the benefits of 
>> the noundef for one special case. IIRC, I mentioned alternatives in the 
>> other discussion already,... not that I have a link handy.
>
> I've spent a while thinking about this and don't see a better option. It's 
> one special case, but since that special case can be called from arbitrary 
> user code, I don't see how we can preserve noundef. We can't specially treat 
> the handful of special intrinsics/operands for this, since we would 
> transitively need to apply this to any user code which calls those functions

I guess, that is the actual question here: Does CUDA/HIP overwrite the 
semantics of the base language entirely or make exceptions for the intrinsics 
they added.
From what I can tell, CUDA/HIP did the latter. I am not sure how much their 
standards (if any) mention this.

OpenMP offloading, for example, does not overwrite the base language (C/C++). 
For OpenMP we would want to make the intrinsics special but that's it. We would 
even be fine without any special handling  as the only uses are in our runtime 
(or other clang shipped code).

If the HIP/CUDA people think we should give up on noundef arguments completely, 
let's do it by language rather than some implicit property (convergent). OpenCL 
& SYCL people should also comment. (ping @tra, @RaviNarayanaswamy, @bader, 
@Anastasia)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128907/new/

https://reviews.llvm.org/D128907

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D128907:... krishna chaitanya sankisa via Phabricator via cfe-commits
    • [PATCH] D12... Matt Arsenault via Phabricator via cfe-commits
    • [PATCH] D12... krishna chaitanya sankisa via Phabricator via cfe-commits
    • [PATCH] D12... Sameer Sahasrabuddhe via Phabricator via cfe-commits
    • [PATCH] D12... Johannes Doerfert via Phabricator via cfe-commits
    • [PATCH] D12... krishna chaitanya sankisa via Phabricator via cfe-commits
    • [PATCH] D12... Matt Arsenault via Phabricator via cfe-commits
    • [PATCH] D12... Johannes Doerfert via Phabricator via cfe-commits
    • [PATCH] D12... Matt Arsenault via Phabricator via cfe-commits
    • [PATCH] D12... Johannes Doerfert via Phabricator via cfe-commits
    • [PATCH] D12... Matt Arsenault via Phabricator via cfe-commits

Reply via email to