[Mlir-commits] [mlir] [mlir][sparse][nfc] replace sparse_tensor.pointers in docs (PR #181636)

Vito Secona llvmlistbot at llvm.org
Mon Feb 16 03:26:34 PST 2026


https://github.com/secona created https://github.com/llvm/llvm-project/pull/181636

The `-sparse-tensor-conversion` and `-sparse-tensor-codegen` descriptions use `sparse_tensor.pointers` which doesn't exist. I couldn't track the history, so I don't know if it was renamed or fully removed. This PR replaces said op into `sparse_tensor.positions`. It looks to have similar assembly format.

>From 2baa0476ac40a9394f01bb861c4f8ef799327bba Mon Sep 17 00:00:00 2001
From: Vito Secona <secona00 at gmail.com>
Date: Mon, 16 Feb 2026 18:08:13 +0700
Subject: [PATCH] [mlir][sparse][nfc] replace sparse_tensor.pointers in docs

---
 .../Dialect/SparseTensor/Transforms/Passes.td | 21 +++++++++++--------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td b/mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
index 0b8562e484f51..d0e265c2d72ad 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
+++ b/mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
@@ -257,7 +257,7 @@ def SparseTensorConversionPass : Pass<"sparse-tensor-conversion", "ModuleOp"> {
     ```mlir
       Before:
         func.func @foo(%arg0: tensor<8x8xf32, #CSR>) -> memref<?xindex> {
-          %0 = sparse_tensor.pointers %arg0 {dimension = 1 : index}
+          %0 = sparse_tensor.positions %arg0 {level = 1 : index}
              : tensor<8x8xf32, #CSR> to memref<?xindex>
           return %0 : memref<?xindex>
         }
@@ -265,7 +265,7 @@ def SparseTensorConversionPass : Pass<"sparse-tensor-conversion", "ModuleOp"> {
       After:
         func.func @foo(%arg0: !llvm.ptr) -> memref<?xindex> {
           %c1 = arith.constant 1 : index
-          %0 = call @sparsePointers0(%arg0, %c1)
+          %0 = call @sparsePositions0(%arg0, %c1)
              : (!llvm.ptr, index) -> memref<?xindex>
           return %0 : memref<?xindex>
         }
@@ -300,18 +300,21 @@ def SparseTensorCodegen : Pass<"sparse-tensor-codegen", "ModuleOp"> {
     ```mlir
       Before:
         func.func @foo(%arg0: tensor<8x8xf32, #CSR>) -> memref<?xindex> {
-          %0 = sparse_tensor.pointers %arg0 {dimension = 1 : index}
+          %0 = sparse_tensor.positions %arg0 {level = 1 : index}
              : tensor<8x8xf32, #CSR> to memref<?xindex>
           return %0 : memref<?xindex>
         }
 
       After:
-        func.func @foo(%arg0: memref<2xindex>,
-                       %arg1: memref<3xindex>,
-                       %arg2: memref<?xindex>,
-                       %arg3: memref<?xindex>,
-                       %arg4: memref<?xf32>) -> memref<?xindex> {
-          return %arg2 : memref<?xindex>
+        func.func @foo(%arg0: memref<?xindex>,
+                       %arg1: memref<?xindex>,
+                       %arg2: memref<?xf32>,
+                       %arg3: !sparse_tensor.storage_specifier<#sparse>) -> memref<?xindex> {
+          %0 = sparse_tensor.storage_specifier.get %arg3 pos_mem_sz at 1
+             : !sparse_tensor.storage_specifier<#sparse>
+          %subview = memref.subview %arg0[0] [%0] [1]
+                   : memref<?xindex> to memref<?xindex>
+          return %subview : memref<?xindex>
         }
     ```
   }];



More information about the Mlir-commits mailing list