[PATCH] D115302: [AA] Teach AA about convergent instrinsics that affect loads/stores.
Artem Belevich via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 8 12:04:32 PST 2021
tra added a comment.
In D115302#3178688 <https://reviews.llvm.org/D115302#3178688>, @nikic wrote:
> I don't think this should be part of the main AA implementation, but rather be sunk into the AA provider that is producing incorrect results (here GlobalModRef, unless BasicAA also produces an incorrect result?)
BasicAA does not seem to have any impact on the miscompile.
I've moved the code to `GlobalModRef` and changed it to check for the absence of nosync.
The good news is that it fixes my case. The bad -- it breaks a lot of other GlobalModRef tests. IIUIC, it's due to the functions in the tests not having `nosync`.
What's supposed to be the source of `nosync` attribute? Is it expected to be set explicitly by the user, or does LLVM relies on automatically inferring it?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115302/new/
https://reviews.llvm.org/D115302
More information about the llvm-commits
mailing list