[PATCH] D90529: Allow nonnull/align attribute to accept poison

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 1 18:58:45 PST 2021


jdoerfert added a comment.

In D90529#2596245 <https://reviews.llvm.org/D90529#2596245>, @aqjune wrote:

> Besides this, merging two assumes might require something. A notion of scope should be carefully defined in this case.
>
>   

assumes need scopes for this to make sense. the current ones

> call void @llvm.assume(true) ["attr1"(p)]
> call void @llvm.assume(true) ["attr2"(p)]
>
>   =>
>
> call void @llvm.assume(true) ["attr1"(p), "attr2"(p)] ; synergy between attributes may introduce UB
>
>   TBH, making things simple and introducing no special rule seems to be the best practice for avoiding possible miscompilations or glitches in spec I think.
>   I see that a similar thing is happening in relaxed concurrency and it is really hard to write at least medium-scale program correctly without relying on commonly-used patterns. :(

I think I missed your "simple" no-special rule suggestion. Could you repeat that or link it?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90529



More information about the llvm-commits mailing list