[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