[Mlir-commits] [mlir] [mlir][xevm] Fix dialect descriptions formatting (PR #147729)

Adam Siemieniuk llvmlistbot at llvm.org
Wed Jul 9 06:46:13 PDT 2025


https://github.com/adam-smnk created https://github.com/llvm/llvm-project/pull/147729

Fixes markdown formatting of xevm dialect docs.

>From b5ac901e28915c95fc35d5ed0d175585fc3bac21 Mon Sep 17 00:00:00 2001
From: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: Wed, 9 Jul 2025 15:42:34 +0200
Subject: [PATCH] [mlir][xevm] Fix dialect descriptions formatting

Fixes markdown formatting of xevm dialect docs.
---
 mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td | 108 ++++++++++----------
 1 file changed, 54 insertions(+), 54 deletions(-)

diff --git a/mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
index b5e81d595d74c..f457f47d56219 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
@@ -201,25 +201,25 @@ def XeVM_BlockLoad2dOp
   let description = [{
     The `xevm.blockload2d` operation loads a two dimensional matrix tile
     from a base matrix residing in global memory. The parameters are:
-      $ptr - the base address of the base matrix containing the tile to load
-      $base_width - the width of the base matrix in number of bytes.
-      $base_height - the number of rows in the base matrix
-      $base_pitch - the physical stride between the first columns of the current
-         row and the subsequent row in number of bytes.
-      $x, $y, $tile_width, $tile_height - the starting offsets and shape of
-      the tile to load in number of elements.
-      $elem_size_in_bits - the size in bits of the matrix element type
+      * `ptr` - the base address of the base matrix containing the tile to load
+      * `base_width` - the width of the base matrix in number of bytes.
+      * `base_height` - the number of rows in the base matrix
+      * `base_pitch` - the physical stride between the first columns of the current
+        row and the subsequent row in number of bytes.
+      * `x`, `y`, `tile_width`, `tile_height` - the starting offsets and shape of
+        the tile to load in number of elements.
+      * `elem_size_in_bits` - the size in bits of the matrix element type
         - 32 for f32, tf32
         - 16 for f16, int16, bf16
         - 8 for int8
-      $v_blocks - number of consecutive tiles in innermost dimension direction to load
-      $transpose - transpose the tile in registers (useful for 32 bit element type)
-      $pack_register - pack element types narrower than register bit width.
+      * `v_blocks` - number of consecutive tiles in innermost dimension direction to load
+      * `transpose` - transpose the tile in registers (useful for 32 bit element type)
+      * `pack_register` - pack element types narrower than register bit width.
         [M, N] => [M/factor, N, factor] where factor is register_size_in_bits / elem_size_in_bits
-      $cache_control - an enumerator that sets the cache behaviour
+      * `cache_control` - an enumerator that sets the cache behaviour
 
     Notes:
-      - the $transpose and $pack_register parameters are mutual exclusive
+      - the `transpose` and `pack_register` parameters are mutual exclusive
       - transposing the tile loaded is used for A matrix in backward path or used for the B matrix operand
         (D = C + A * B), where A has row-major layout and B should have column-major layout in memory.
       - if the tile loaded contains out of bound elements of the matrix, they are filled with 0.
@@ -262,19 +262,19 @@ def XeVM_BlockStore2dOp
   let description = [{
     The `xevm.blockstore2d` operation stores a two dimensional tile into a
     larger matrix residing in global memory. The parameters are:
-      $ptr - the base address of the target matrix where to store the tile
-      $base_width - the width of the base matrix in number of bytes.
-      $base_height - the number of rows in the base matrix
-      $base_pitch - the physical stride between the first columns of the current
-         row and the subsequent row in number of bytes.
-      $x, $y, $tile_width, $tile_height - the starting offsets and shape of the tile to store
+      * `ptr` - the base address of the target matrix where to store the tile
+      * `base_width` - the width of the base matrix in number of bytes.
+      * `base_height` - the number of rows in the base matrix
+      * `base_pitch` - the physical stride between the first columns of the current
+        row and the subsequent row in number of bytes.
+      * `x`, `y`, `tile_width`, `tile_height` - the starting offsets and shape of the tile to store
       in number of elements.
-      $elem_size_in_bits - the size in bits of the matrix element
+      * `elem_size_in_bits` - the size in bits of the matrix element
         - 32 for f32, tf32
         - 16 for f16, int16, bf16
         - 8 for int8
-      $cache_control - an enumerator that sets the cache behaviour
-      $stored_val - the tile to store
+      * `cache_control` - an enumerator that sets the cache behaviour
+      * `stored_val` - the tile to store
 
     Example:
     ```mlir
@@ -351,10 +351,10 @@ def XeVM_MemfenceOp
     This operation ensures that all prior memory accesses of this
     work-item to `addrspace` are visible to all other work-items in `scope`.
     Parameters description:
-    $scope - specify the memory scope at which all other work-items should observe
-                memory operations prior to the fence.
-    $addrspace - specify the address space of work-item's memory accesses
-                to be affected by the fence.
+      * `scope` - specify the memory scope at which all other work-items should observe
+        memory operations prior to the fence.
+      * `addrspace` - specify the address space of work-item's memory accesses
+        to be affected by the fence.
   }];
   let assemblyFormat = [{prop-dict  attr-dict}];
 
@@ -370,9 +370,9 @@ def XeVM_PrefetchOp
   let summary = "Prefetch data into a cache subsystem.";
   let description = [{
     Work-item issues a prefetch from global memory to cache:
-    $ptr - LLVM pointer with address space. Address space must be 1 (global)
-      or 4 (generic)
-    $cache_control - specify caching options
+      * `ptr` - LLVM pointer with address space. Address space must be 1 (global)
+        or 4 (generic)
+      * `cache_control` - specify caching options
   }];
   let assemblyFormat = [{
     operands prop-dict attr-dict `:` `(` type(operands) `)`
@@ -395,19 +395,19 @@ def XeVM_BlockPrefetch2dOp
   let description = [{
     The `xevm.blockprefetch2d` operation prefetches a two dimensional tile
     from a larger base matrix residing in global memory. The parameters are:
-      $ptr - the base address of the base matrix containing the tile to prefetch
-      $base_width - the width of the base matrix in number of bytes.
-      $base_height - the number of rows in the base matrix
-      $base_pitch - the physical stride between the first columns of the current
-         row and the subsequent row in number of bytes.
-      $x, $y, $tile_width, $tile_height - the starting offsets and shape of tile
-      to prefetch in number of elements.
-      $elem_size_in_bits - the size in bits of the matrix element
-      - 32 for f32, bf32
-      - 16 for f16, int16, bf16
-      - 8 for int8, int4, int2
-      $v_blocks - number of tiles in innermost dimension direction to prefetch
-      $cache_control - an enumerator that sets the cache behaviour
+      * `ptr` - the base address of the base matrix containing the tile to prefetch
+      * `base_width` - the width of the base matrix in number of bytes.
+      * `base_height` - the number of rows in the base matrix
+      * `base_pitch` - the physical stride between the first columns of the current
+        row and the subsequent row in number of bytes.
+      * `x`, `y`, `tile_width`, `tile_height` - the starting offsets and shape of tile
+        to prefetch in number of elements.
+      * `elem_size_in_bits` - the size in bits of the matrix element
+        - 32 for f32, bf32
+        - 16 for f16, int16, bf16
+        - 8 for int8, int4, int2
+      * `v_blocks` - number of tiles in innermost dimension direction to prefetch
+      * `cache_control` - an enumerator that sets the cache behaviour
 
     Example:
     ```mlir
@@ -452,9 +452,9 @@ def XeVM_ElemTypeAttr : I32EnumAttr<"ElemType", "XeVM element type",
 def XeVM_MMAShapeAttr : XeVM_Attr<"MMAShape", "mma_shape"> {
   let description = [{
     MMA operation is represented as D=AxB+C, where
-      A has the shape MxK.
-      B has the shape KxN.
-      D and C have the shape MxN.
+      - A has the shape MxK.
+      - B has the shape KxN.
+      - D and C have the shape MxN.
     This attribute encodes the shape of all matrices that participate in MMA.
   }];
   let parameters = (ins "int":$m, "int":$n, "int":$k);
@@ -484,17 +484,17 @@ def XeVM_MMAOp
       D = C + A x B
 
       where the A, B, C input matrices and the result D have shapes:
-        D : MxN
-        C : MxN
-        A : MxK
-        B : KxN
+        - D : MxN
+        - C : MxN
+        - A : MxK
+        - B : KxN
 
     Parameters:
-      `a` - vector of matrix A elements.
-      `b` - vector of matrix B elements.
-      `c` - (optional) vector of matrix C elements.
-      `shape` - the shape of the matrices, specified as `M`, `N`, and `K` values.
-      `types` - the data types of the matrices, specified as `D`, `A`, `B`, and optionally `C`.
+      * `a` - vector of matrix A elements.
+      * `b` - vector of matrix B elements.
+      * `c` - (optional) vector of matrix C elements.
+      * `shape` - the shape of the matrices, specified as `M`, `N`, and `K` values.
+      * `types` - the data types of the matrices, specified as `D`, `A`, `B`, and optionally `C`.
 
     Example:
     ```mlir



More information about the Mlir-commits mailing list