[PATCH] D156467: [mlir][ArmSME] Add conversion from ArmSME to SCF to materialize loops

Cullen Rhodes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 27 11:02:27 PDT 2023


c-rhodes created this revision.
c-rhodes added reviewers: awarzynski, dcaballe, WanderAway, benmxwl-arm.
c-rhodes added a project: MLIR.
Herald added subscribers: gysit, Dinistro, bviyer, Moerafaat, zero9178, bzcheeseman, ThomasRaoux, sdasgup3, wenzhicui, wrengr, jsetoain, cota, teijeong, rdzhabarov, tatianashp, msifontes, jurahul, Kayjukh, grosul1, Joonsoo, liufengdb, aartbik, mgester, arpith-jacob, antiagainst, shauheen, rriddle, mehdi_amini, kristof.beyls.
Herald added a reviewer: aartbik.
Herald added a reviewer: ftynse.
Herald added a project: All.
c-rhodes requested review of this revision.
Herald added a reviewer: nicolasvasilache.
Herald added subscribers: stephenneuendorffer, nicolasvasilache.

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_and_update - 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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D156467

Files:
  mlir/include/mlir/Conversion/ArmSMEToSCF/ArmSMEToSCF.h
  mlir/include/mlir/Conversion/Passes.h
  mlir/include/mlir/Conversion/Passes.td
  mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.td
  mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
  mlir/lib/Conversion/ArmSMEToSCF/CMakeLists.txt
  mlir/lib/Conversion/CMakeLists.txt
  mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
  mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
  mlir/test/Dialect/ArmSME/arm-sme-to-llvm-casts.mlir
  mlir/test/Dialect/ArmSME/roundtrip.mlir
  mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
  mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
  mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D156467.544860.patch
Type: text/x-patch
Size: 59811 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230727/857562f6/attachment.bin>


More information about the llvm-commits mailing list