[all-commits] [llvm/llvm-project] ddb85f: [ObjCARC] Fix non-determinism

kyulee-com via All-commits all-commits at lists.llvm.org
Thu Mar 17 15:01:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ddb85f34f534ed74312ef91e4c1f8792ad8f08f0
      https://github.com/llvm/llvm-project/commit/ddb85f34f534ed74312ef91e4c1f8792ad8f08f0
  Author: Kyungwoo Lee <kyulee at fb.com>
  Date:   2022-03-17 (Thu, 17 Mar 2022)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp

  Log Message:
  -----------
  [ObjCARC] Fix non-determinism

We often failed in the assertion, non-deterministically with a large IR:
```
Assertion `notDifferentParent(LocA.Ptr, LocB.Ptr) && "BasicAliasAnalysis doesn't support interprocedural queries."
```
Looking at the comment in https://reviews.llvm.org/D87806, it appears it's actually a module pass for new PM while the legacy PM still works as a function pass.
The fix is to align the same behavior in between new PM and old PM, which initializes ObjCARCContract for each function.

Reviewed By: aeubanks

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




More information about the All-commits mailing list