Yun-Fly
9bc3102bea
[mlir][scf] Extend consumer fusion to multiple tilable users (#111955)
Before, consumer fusion expects single usage(or others are terminator
op). This patch supports multiple tilable consumers fusion.
E.g.
```
%0 = scf.for {
...
%p = tiledProducer
...
}
%1 = tilableConsumer1 ins(%0 : ...)
%2 = tilableConsumer2 ins(%0 : ...)
```
===>
```
%0:3 = scf.for {
...
%p = tiledProducer
%1 = tiledConsumer1 ins(%p : ...)
%2 = tiledConsumer2 ins(%p : ...)
...
}
```
The key process is ensuring that the first user of loop
should not dominate any define of consumer operand(s).
2024-11-06 10:03:23 +08:00
..
2024-11-05 17:34:48 +01:00
2024-08-06 01:32:36 +02:00
2024-11-06 10:03:23 +08:00
2024-11-04 15:05:28 -08:00
2022-06-20 10:18:01 +02:00