[Mlir-commits] [mlir] [mlir][ArmSME] Skip tile allocation for functions with no SME tile values (PR #227153)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Thu Oct 1 02:02:06 PDT 2026
================
----------------
banach-space wrote:
> @banach-space the old version of this test only produced an error because %vecA/%vecB were bare fn args with no defining op at all (and move required). That said, with the current impl, keeping %vecA/%vecB as bare args would no longer work either way: with "test.some_use" as the only consumer, there's no ArmSMETileOpInterface op anywhere before preprocessing, so allocation gets skipped entirely, i.e., no error. Swapping "test.some_use" for a real op would fix that, but then this test just duplicates [tile-allocation-invalid.mlir](https://github.com/llvm/llvm-project/blob/2f4cb516b6f9d5f459dc514f37f74eaa00b438a8/mlir/test/Dialect/ArmSME/tile-allocation-invalid.mlir#L1-L17).
IIUC, the test was failing because two tiles were assigned different TileID, which is problematic because then it's unclear which TileID to return from `scf.if`. You have added the following to make sure that the tile allocation happens:
```mlir
%vecA = arm_sme.get_tile : vector<[4]x[4]xf32>
%vecB = arm_sme.get_tile : vector<[4]x[4]xf32>
```
However, the diagnostics should still be produced, right?
https://github.com/llvm/llvm-project/pull/227153
More information about the Mlir-commits
mailing list