[Mlir-commits] [mlir] [MLIR][Linalg] Safely Unwind Block Split After Detensorizing (PR #171918)

Jacques Pienaar llvmlistbot at llvm.org
Tue Jan 27 01:37:50 PST 2026


================
@@ -19,3 +19,47 @@ func.func @main(%arg0: tensor<f32>) -> tensor<f32> {
 // CHECK: ^{{.*}}:
 // CHECK:   %[[ELEMENTS:.+]] = tensor.from_elements %[[EXTRACTED]] : tensor<f32>
 // CHECK:   return %[[ELEMENTS]] : tensor<f32>
+
+
+module {
+  memref.global "private" constant @__constant_4x4xf32 : memref<4x4xf32> = dense<8.899000e+01> {alignment = 64 : i64}
+  func.func private @parallel_compute_fn_with_aligned_loops(%arg0: index, %arg1: index, %arg2: index, %arg3: index, %arg4: index, %arg5: index, %arg6: index, %arg7: index, %arg8: index, %arg9: index, %arg10: memref<4x4xf32>, %arg11: memref<4x4xf32>) {
----------------
jpienaar wrote:

There is no linalg generic ops here, how did this fail before? Can you print on the repro the state before the failure? Looking at comments, the entry block should never be getting transformed, if it is probably gap in filtering. I wouldn't expect detensorableBranchOps to be non-empty here as there are no tensors. A guess would be if this is this due to index here (e.g., if you change resultType.isIntOrFloat to resultType.isIntOrIndexOrFloat is there any change)

https://github.com/llvm/llvm-project/pull/171918


More information about the Mlir-commits mailing list