[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:36:35 PDT 2023


ahatanak added a comment.

The downside of removing the call to `std::swap` is that we can no longer reuse the result of `related(A, B)` when `related(B, A)` is called, but probably that doesn't have a large impact on compile time.

We need this change because we found another case where `assert(relatedCheck(B, A) == Result)` in `ProvenanceAnalysis::related` was failing. The assertion was failing because `BasicAAResult::alias(A, B)`and `BasicAAResult::alias(B, A)` were giving different answers.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150296



More information about the llvm-commits mailing list