diff options
author | Eugene Zhulenev <ezhulenev@google.com> | 2021-05-25 11:02:42 -0700 |
---|---|---|
committer | Eugene Zhulenev <ezhulenev@google.com> | 2021-05-27 09:21:59 -0700 |
commit | c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65 (patch) | |
tree | 26239bcfad5b44266df3240d1640c00b491f3c75 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 21653600034084e8335374ddc1eb8d362158d9a8 (diff) | |
download | llvm-c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65.zip llvm-c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65.tar.gz llvm-c412979cde54ec3b5d9f3b83f2b8b5b4b353ed65.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions