llvm-project/mlir/lib/Dialect/SparseTensor/Transforms
Aart Bik eca6f9160f [mlir][sparse][bufferization] refine bufferization assumption enforcement
Enforce the assumption made on tensor buffers explicitly. When in-place,
reuse the buffer, but fill with all zeroes for the non-update case, since
the kernel assumes all elements are written to. When not in-place, zero
out the new buffer when materializing or when no-updates occur. Copy the
original tensor value when updates occur. This prepares migrating to the
new bufferization strategy, where these assumptions must be made explicit.

Reviewed By: springerm

Differential Revision: https://reviews.llvm.org/D128691
2022-06-28 09:43:30 -07:00
..
BufferizableOpInterfaceImpl.cpp [mlir][sparse][bufferize] Implement BufferizableOpInterface 2022-06-24 13:47:01 +02:00
CMakeLists.txt [mlir][sparse][bufferize] Implement BufferizableOpInterface 2022-06-24 13:47:01 +02:00
CodegenUtils.cpp [mlir][sparse] Add F16 and BF16. 2022-06-08 09:51:05 -07:00
CodegenUtils.h [mlir][sparse] add support for complex zero/one building 2022-05-20 08:53:30 -07:00
SparseTensorConversion.cpp [mlir] Don't use Optional::getValue (NFC) 2022-06-20 23:20:25 -07:00
SparseTensorPasses.cpp [mlir][sparse] refine bufferization allocation lowering 2022-06-21 15:17:25 -07:00
Sparsification.cpp [mlir][sparse][bufferization] refine bufferization assumption enforcement 2022-06-28 09:43:30 -07:00