[mlir][sparse][bufferization] fix a few memory leaks
authorAart Bik <ajcbik@google.com>
Thu, 14 Jul 2022 21:55:43 +0000 (14:55 -0700)
committerAart Bik <ajcbik@google.com>
Thu, 14 Jul 2022 22:05:12 +0000 (15:05 -0700)
Fixed some new memory leaks after migration to new
bufferization. One is expected, the other may need
some more careful analysis.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D129805

mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir

index 25ff5fd..1905249 100644 (file)
@@ -239,6 +239,13 @@ module {
     sparse_tensor.release %7 : tensor<4x4xf64, #CSR>
     sparse_tensor.release %8 : tensor<4x4xf64, #DCSR>
 
+    // TODO(springerm): needed?
+    %m0 = bufferization.to_memref %0 : memref<4x4xf64>
+    memref.dealloc %m0 : memref<4x4xf64>
+    %m3 = bufferization.to_memref %3 : memref<4x4xf64>
+    memref.dealloc %m3 : memref<4x4xf64>
+    %m6 = bufferization.to_memref %6 : memref<4x4xf64>
+    memref.dealloc %m6 : memref<4x4xf64>
     return
   }
 }
index 13b4737..4ce6f1c 100644 (file)
@@ -113,6 +113,7 @@ module {
     // Release resources.
     sparse_tensor.release %a : tensor<3x4xf64, #DCSR>
     sparse_tensor.release %0 : tensor<4x3xf64, #DCSR>
+    sparse_tensor.release %1 : tensor<4x3xf64, #DCSR>
 
     return
   }