================
@@ -393,15 +391,29 @@ bool isReallyAClobber(const Value *Ptr, MemoryDef *Def,
AAResults *AA) {
}
}
- // Ignore atomics not aliasing with the original load, any atomic is a
- // universal MemoryDef from MSSA's point of view too, just like a fence.
- const auto checkNoAlias = [AA, Ptr](auto I) -> bool {
- return I && AA->isNoAlias(I->getPointerOperand(), Ptr);
+ // Ignore non-acquire atomics not aliasing with the original load, any atomic
+ // is a universal MemoryDef from MSSA's point of view too, just like a fence.
+ // Acquire (or stronger) fences/atomics act as clobbers because they can
bring
+ // in effects from other threads.
+ const auto mayAlias = [AA, Ptr](auto I) -> bool {
----------------
ritter-x2a wrote:
Done.
https://github.com/llvm/llvm-project/pull/219991
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits