[PATCH] D150296: [ObjC][ARC] Fix non-deterministic behavior in ProvenanceAnalysis
Akira Hatanaka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 10 13:22:07 PDT 2023
ahatanak created this revision.
ahatanak added reviewers: akyrtzi, fhahn.
Herald added subscribers: StephenFan, mgrang, hiraditya.
Herald added a project: All.
ahatanak requested review of this revision.
Herald added a project: LLVM.
Stop reordering the pointers passed in `ProvenanceAnalysis::related` based on their values. That was causing non-determinism as the call to `relatedCheck(A, B)` isn't guaranteed to return the same result as `relatedCheck(B, A)`.
Revert the following three commits (except the original test case in related-check.ll):
665e47777df17db406c698d57b4f3c28d67c432e <https://reviews.llvm.org/rG665e47777df17db406c698d57b4f3c28d67c432e>
295861514e0d1e48df2918b630dd692ac27ee0de <https://reviews.llvm.org/rG295861514e0d1e48df2918b630dd692ac27ee0de>
d877e3fe71676b0ff10410d80456b35cdd5bf796 <https://reviews.llvm.org/rGd877e3fe71676b0ff10410d80456b35cdd5bf796>
These changes shouldn't be necessary once the call to `std::swap` is removed.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D150296
Files:
llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
llvm/test/Transforms/ObjCARC/related-check.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150296.521076.patch
Type: text/x-patch
Size: 6050 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230510/24e1eb69/attachment.bin>
More information about the llvm-commits
mailing list