[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