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-04-19 13:46:10 +02:00
2023-05-12 15:35:24 +00:00
2024-06-10 09:56:33 -05:00
2022-04-20 22:17:30 -07:00
2023-02-10 16:14:17 +00:00
2024-11-06 10:03:23 +08:00