History log of /llvm-project/mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp (Results 1 – 21 of 21)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7
# 197c3a3e 02-Jun-2024 Kazu Hirata <kazu@google.com>

Use llvm::less_first (NFC) (#94136)


Revision tags: llvmorg-18.1.6, llvmorg-18.1.5
# a5757c5b 19-Apr-2024 Christian Sigg <chsigg@users.noreply.github.com>

Switch member calls to `isa/dyn_cast/cast/...` to free function calls. (#89356)

This change cleans up call sites. Next step is to mark the member
functions deprecated.

See https://mlir.llvm.org/

Switch member calls to `isa/dyn_cast/cast/...` to free function calls. (#89356)

This change cleans up call sites. Next step is to mark the member
functions deprecated.

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.

show more ...


Revision tags: llvmorg-18.1.4, llvmorg-18.1.3
# a54930e6 01-Apr-2024 Peiming Liu <peiming@google.com>

[mlir][sparse] allow YieldOp to yield multiple values. (#87261)


Revision tags: llvmorg-18.1.2
# 42c38b1c 19-Mar-2024 Aart Bik <ajcbik@google.com>

[mlir][sparse] deallocate temporary transposed tensor (#85720)

Last resort resolution of cycles introduced a sparse conversion without
explicit sparse deallocation (which is not inserted by any aut

[mlir][sparse] deallocate temporary transposed tensor (#85720)

Last resort resolution of cycles introduced a sparse conversion without
explicit sparse deallocation (which is not inserted by any automatic
means). This fixes 2 out of 5 remaining asan detected leaks in sparse
integration tests.

show more ...


# 94e27c26 12-Mar-2024 Peiming Liu <peiming@google.com>

[mlir][sparse] reuse tensor.insert operation to insert elements into … (#84987)

…a sparse tensor.


Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2
# 07bf1ddb 01-Feb-2024 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] support non-id map for [Dis]assembleOp (#80355)


Revision tags: llvmorg-18.1.0-rc1, llvmorg-19-init
# 5fcf907b 17-Jan-2024 Matthias Springer <me@m-sp.org>

[mlir][IR] Rename "update root" to "modify op" in rewriter API (#78260)

This commit renames 4 pattern rewriter API functions:
* `updateRootInPlace` -> `modifyOpInPlace`
* `startRootUpdate` -> `sta

[mlir][IR] Rename "update root" to "modify op" in rewriter API (#78260)

This commit renames 4 pattern rewriter API functions:
* `updateRootInPlace` -> `modifyOpInPlace`
* `startRootUpdate` -> `startOpModification`
* `finalizeRootUpdate` -> `finalizeOpModification`
* `cancelRootUpdate` -> `cancelOpModification`

The term "root" is a misnomer. The root is the op that a rewrite pattern
matches against
(https://mlir.llvm.org/docs/PatternRewriter/#root-operation-name-optional).
A rewriter must be notified of all in-place op modifications, not just
in-place modifications of the root
(https://mlir.llvm.org/docs/PatternRewriter/#pattern-rewriter). The old
function names were confusing and have contributed to various broken
rewrite patterns.

Note: The new function names use the term "modify" instead of "update"
for consistency with the `RewriterBase::Listener` terminology
(`notifyOperationModified`).

show more ...


# 0a8e3dd4 12-Jan-2024 Matthias Springer <me@m-sp.org>

[mlir][Interfaces] `DestinationStyleOpInterface`: Rename `hasTensor/BufferSemantics` (#77574)

Rename interface functions as follows:
* `hasTensorSemantics` -> `hasPureTensorSemantics`
* `hasBuffer

[mlir][Interfaces] `DestinationStyleOpInterface`: Rename `hasTensor/BufferSemantics` (#77574)

Rename interface functions as follows:
* `hasTensorSemantics` -> `hasPureTensorSemantics`
* `hasBufferSemantics` -> `hasPureBufferSemantics`

These two functions return "true" if the op has tensor/buffer operands
but not buffer/tensor operands.

Also drop the "ranked" part from the interface, i.e., do not distinguish
between ranked/unranked types.

The new function names describe the functions more accurately. They also
align their semantics with the notion of "tensor semantics" with the
bufferization framework. (An op is supposed to be bufferized if it has
tensor operands, and we don't care if it also has memref operands.)

This change is in preparation of #75273, which adds
`BufferizableOpInterface::hasTensorSemantics`. By renaming the functions
in the `DestinationStyleOpInterface`, we can avoid name clashes between
the two interfaces.

show more ...


# 365777ec 12-Dec-2023 Aart Bik <39774503+aartbik@users.noreply.github.com>

[mlir][sparse] refactor utilities into transform/utils dir (#75250)

Separates actual transformation files from supporting utility files in
the transforms directory. Includes a bazel overlay fix for

[mlir][sparse] refactor utilities into transform/utils dir (#75250)

Separates actual transformation files from supporting utility files in
the transforms directory. Includes a bazel overlay fix for the build (as
well as a bit of cleanup of that file to be less verbose and more
flexible).

show more ...


# 986287e7 07-Dec-2023 Matthias Springer <me@m-sp.org>

[mlir][SparseTensor] Fix invalid API usage in patterns (#74690)

Rewrite patterns must return `success` if the IR was modified. This
commit fixes sparse tensor tests such as
`SparseTensor/sparse_fu

[mlir][SparseTensor] Fix invalid API usage in patterns (#74690)

Rewrite patterns must return `success` if the IR was modified. This
commit fixes sparse tensor tests such as
`SparseTensor/sparse_fusion.mlir`,
`SparseTensor/CPU/sparse_reduce_custom.mlir`,
`SparseTensor/CPU/sparse_semiring_select.mlir` when running with
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.

show more ...


Revision tags: llvmorg-17.0.6
# 4e2f1521 27-Nov-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] code cleanup, remove FIXMEs (#73575)


# 06a65ce5 15-Nov-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] schedule sparse kernels in a separate pass from sparsification. (#72423)


Revision tags: llvmorg-17.0.5
# c99951d4 08-Nov-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] end-to-end matmul between Dense and BSR tensors (#71448)


# c0d78c42 02-Nov-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] Implement rewriters to reinterpret maps on alloc_tenso… (#70993)

…r operation


# 3426d330 01-Nov-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] Implement rewriters to reinterpret maps on foreach (#70868)


# b19c40c5 01-Nov-2023 Aart Bik <39774503+aartbik@users.noreply.github.com>

[mlir][sparse] first end-to-end linalg.generic op on BSR (#70880)


# e5999787 31-Oct-2023 Aart Bik <39774503+aartbik@users.noreply.github.com>

[mlir][sparse] first proof-of-concept non-permutation rewriter (#70863)

Rather than extending sparsifier codegen with higher order
non-permutations, we follow the path of rewriting linalg generic o

[mlir][sparse] first proof-of-concept non-permutation rewriter (#70863)

Rather than extending sparsifier codegen with higher order
non-permutations, we follow the path of rewriting linalg generic ops
into higher order operations. That way, code generation will simply work
out of the box. This is a very first proof-of-concept rewriting of that
idea.

show more ...


# c81a2c05 31-Oct-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] add helper class to implement common rewriter to re/demap sparse tensors. (#70750)


Revision tags: llvmorg-17.0.4
# ef100c22 30-Oct-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] implements tensor.insert on sparse tensors. (#70737)


# 6a93da99 27-Oct-2023 Peiming Liu <36770114+PeimingLiu@users.noreply.github.com>

[mlir][sparse] add ReinterpretMapScopeOption for the pass (#70486)


# 7cfac1be 27-Oct-2023 Aart Bik <39774503+aartbik@users.noreply.github.com>

[mlir][sparse] add boilterplate code for a new reintepret map pass (#70393)

The interesting stuff is of course still coming ;-)