[Mlir-commits] [mlir] [mlir][ArmSME] Add custom vector.print lowering for SME tiles (PR #66691)

Cullen Rhodes llvmlistbot at llvm.org
Tue Sep 19 01:08:57 PDT 2023


c-rhodes wrote:

> This adds a custom lowering for SME that loops over each row of the tile, extracting it via an SME MOVA, then printing with a normal 1D vector.print.

Thanks Ben this is really great! Cleans up the tests nicely.

> This patch is "done" but needs to be split into individual tested patches.

Are you planning to break this up into separate PRs?

>     * Adds a new "enable_arm_streaming_ignore" attribute to disable the "enable_arm_streaming" pass for certain functions in a file
>       
>       * This prevents ABI issues when calling helpers, as MLIR SME currently does not implement the ABI conventions needed for nested streaming mode calls

I like this. Long term the plan is to leverage the backend ABI support via attributes so we don't have to implement the ABI in MLIR, but that will depend on having the ABI support routines, [D154045](https://reviews.llvm.org/D154045) adds these to compiler-rt but it hasn't landed yet, and that would also introduce a compiler-rt dependency on MLIR which needs some consideration. An attribute to disable streaming-mode is a nice stop gap!



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


More information about the Mlir-commits mailing list