[Mlir-commits] [mlir] [mlir] [memref] Compile-time memref.alloc Scheduling/Merging optimization (PR #95882)
donald chen
llvmlistbot at llvm.org
Tue Jun 25 23:40:59 PDT 2024
cxy-1993 wrote:
> Could you elaborate why you think ticks does not work? Any examples to show that tick-based impl cannot handle while data flow framework analysis can?
The program is not always executed same as walk order. For example:
```
func.func @foo() {
^bb0:
%0 = memref.alloc
"foo.read_or_write"(%0)
cf.br ^bb2
^bb1:
"foo.read_or_write"(%0)
^bb2:
%1 = memref.alloc
"foo.read_or_write"(%1)
cf.br ^bb1
^exit:
func.return
}
```
In your analysis, does %0 has inference liveness with %1? In walk order, the answer should be no. But it actually does inference.
https://github.com/llvm/llvm-project/pull/95882
More information about the Mlir-commits
mailing list