[PATCH] D127383: Don't treat readnone call in presplit coroutine as not access memory

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 5 00:28:30 PDT 2022


ChuanqiXu added a comment.

In D127383#3699441 <https://reviews.llvm.org/D127383#3699441>, @fhahn wrote:

> In D127383#3677020 <https://reviews.llvm.org/D127383#3677020>, @efriedma wrote:
>
>> https://discourse.llvm.org/t/address-thread-identification-problems-with-coroutine/62015/48 is a summary of the overall design here. I'd suggest reading the rest of the discussion if you want more context... it's hard to summarize the discussion, but we concluded this was the least disruptive solution.
>>
>> It might be worth explicitly calling out the interaction with coroutines more explicitly in LangRef, sure.
>
> Thanks Eli, that's very helpful message to read! IIUC the plan is to an extra attribute to allow the distinction between read none & not reading thread id, which should be used for all/most current intrinsics. This should avoid the need for workarounds like D130155 <https://reviews.llvm.org/D130155> & D130153 <https://reviews.llvm.org/D130153> by better modeling semantics.  IMO this would be practical reasons to adding the attribute up front.

Do you suggest to add the `noread_threadid`  attribute first? So that we could emit `noread_threadid` for intrinsics like `memset` or `dbg.declare` so that we could skip some workarounds like  D130155 <https://reviews.llvm.org/D130155> & D130153 <https://reviews.llvm.org/D130153>. Do I understand right? IIUC, I'm OK since 15.x is already branched and we have enough time.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127383



More information about the llvm-commits mailing list