forked from OSchip/llvm-project
a86a9b5ef7
Depends On D89963 **Automatic reference counting algorithm outline:** 1. `ReturnLike` operations forward the reference counted values without modifying the reference count. 2. Use liveness analysis to find blocks in the CFG where the lifetime of reference counted values ends, and insert `drop_ref` operations after the last use of the value. 3. Insert `add_ref` before the `async.execute` operation capturing the value, and pairing `drop_ref` before the async body region terminator, to release the captured reference counted value when execution completes. 4. If the reference counted value is passed only to some of the block successors, insert `drop_ref` operations in the beginning of the blocks that do not have reference coutned value uses. Reviewed By: silvas Differential Revision: https://reviews.llvm.org/D90716 |
||
---|---|---|
.. | ||
async-parallel-for.mlir | ||
async-ref-counting-optimization.mlir | ||
async-ref-counting.mlir | ||
ops.mlir | ||
verify.mlir |