[all-commits] [llvm/llvm-project] c41297: [mlir] Async reference counting for block successo...

Eugene Zhulenev via All-commits all-commits at lists.llvm.org
Thu May 27 09:22:22 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65
      https://github.com/llvm/llvm-project/commit/c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65
  Author: Eugene Zhulenev <ezhulenev at google.com>
  Date:   2021-05-27 (Thu, 27 May 2021)

  Changed paths:
    M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
    M mlir/test/Dialect/Async/async-runtime-ref-counting.mlir

  Log Message:
  -----------
  [mlir] Async reference counting for block successors with divergent reference counted liveness

Support reference counted values implicitly passed (live) only to some of the successors.

Example: if branched to ^bb2 token will leak, unless `drop_ref` operation is properly created

```
^entry:
  %token = async.runtime.create : !async.token
   cond_br %cond, ^bb1, ^bb2
^bb1:
  async.runtime.await %token
  async.runtime.drop_ref %token
  br ^bb2
^bb2:
  return
```

Reviewed By: mehdi_amini

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




More information about the All-commits mailing list