[all-commits] [llvm/llvm-project] 2895c4: [ObjC][ARC] Fix non-deterministic behavior in Prov...

Akira Hatanaka via All-commits all-commits at lists.llvm.org
Thu May 11 13:41:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2895c4c00ff66420a2232f3fcfc341eb7b72ce67
      https://github.com/llvm/llvm-project/commit/2895c4c00ff66420a2232f3fcfc341eb7b72ce67
  Author: Akira Hatanaka <ahatanaka at apple.com>
  Date:   2023-05-11 (Thu, 11 May 2023)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
    M llvm/test/Transforms/ObjCARC/related-check.ll

  Log Message:
  -----------
  [ObjC][ARC] Fix non-deterministic behavior in ProvenanceAnalysis

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
295861514e0d1e48df2918b630dd692ac27ee0de
d877e3fe71676b0ff10410d80456b35cdd5bf796

These changes shouldn't be necessary once the call to std::swap is
removed.

Differential Revision: https://reviews.llvm.org/D150296




More information about the All-commits mailing list