[mlir][ArmSME] Add conversion from ArmSME to SCF to materialize loops
Currently a loop is materialized when lowering ArmSME loads and stores to intrinsics. This patch introduces two new ops to the ArmSME dialect that map 1-1 with intrinsics: 1. arm_sme.load_tile_slice - Loads a 1D tile slice from memory into a 2D SME "virtual tile". 2. arm_sme.store_tile_slice - Stores a 1D tile slice from a 2D SME "virtual tile" into memory. As well as a new conversion pass '-convert-arm-sme-to-scf' that materializes loops with these ops. The existing load/store lowering to intrinsics is updated to use these ops. Depends on D156517 Discourse thread: https://discourse.llvm.org/t/loop-materialization-in-armsme/72354 Reviewed By: awarzynski, dcaballe, WanderAway Differential Revision: https://reviews.llvm.org/D156467
Loading
Please sign in to comment