| Issue |
180029
|
| Summary |
[MLIR][AFFINE] mlir-opt affine-loop-fusion `sliceIterationCount > 0' failed
|
| Labels |
mlir
|
| Assignees |
|
| Reporter |
naskap
|
LLVM version 21.1.8
Hash: 2078da43e25a4623cab
getFusionComputeCost fails with assertion failure: sliceIterationCount > 0 failed
Command: `mlir-opt --affine-loop-fusion testfile.mlir`
Test File:
```
module {
func.func @foo(%arg0: memref<1024x4096xf32>, %arg1: memref<8192x4096xf32>) -> memref<1024x8192xf32> {
%cst_0 = arith.constant 1.000000e+00 : f32
%alloc = memref.alloc() : memref<1024x8192xf32>
affine.for %arg2 = 0 to 16 {
affine.for %arg4 = 0 to 512 {
affine.for %arg5 = 0 to 64 {
affine.for %arg6 = 0 to 16 {
affine.for %arg7 = 0 to 2048 {
%0 = affine.load %arg0[%arg5 + %arg2 * 64, %arg7] : memref<1024x4096xf32>
%1 = affine.load %arg1[%arg6 + %arg4 * 16, %arg7] : memref<8192x4096xf32>
%2 = affine.load %alloc[%arg5 + %arg2 * 64, %arg6 + %arg4 * 16] : memref<1024x8192xf32>
%3 = arith.mulf %0, %1 : f32
%4 = arith.addf %2, %3 : f32
affine.store %4, %alloc[%arg5 + %arg2 * 64, %arg6 + %arg4 * 16] : memref<1024x8192xf32>
}
}
}
}
affine.for %arg4 = 0 to 512 {
affine.for %arg5 = 0 to 64 {
affine.for %arg6 = 0 to 16 {
affine.for %arg7 = 0 to 2048 {
%0 = affine.load %arg0[%arg5 + %arg2 * 64, %arg7 + 2048] : memref<1024x4096xf32>
%1 = affine.load %arg1[%arg6 + %arg4 * 16, %arg7 + 2048] : memref<8192x4096xf32>
%2 = affine.load %alloc[%arg5 + %arg2 * 64, %arg6 + %arg4 * 16] : memref<1024x8192xf32>
%3 = arith.mulf %0, %1 : f32
%4 = arith.addf %2, %3 : f32
affine.store %4, %alloc[%arg5 + %arg2 * 64, %arg6 + %arg4 * 16] : memref<1024x8192xf32>
}
}
}
}
}
affine.for %arg2 = 0 to 16 {
affine.for %arg3 = 0 to 512 {
affine.for %arg4 = 0 to 64 {
affine.for %arg5 = 0 to 16 {
%0 = affine.load %alloc[%arg4 + %arg2 * 64, %arg5 + %arg3 * 16] : memref<1024x8192xf32>
affine.store %0, %alloc[%arg4 + %arg2 * 64, %arg5 + %arg3 * 16] : memref<1024x8192xf32>
}
}
}
}
return %alloc : memref<1024x8192xf32>
}
}
```
I found it was hard to minimize this example much more and keep the failure.
[stack_dump.txt](https://github.com/user-attachments/files/25111339/stack_dump.txt)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs