Apply the "for loop peeling" pattern from SCF dialect transforms. This pattern splits scf.for loops into full and partial iterations. In the full iteration, all masked loads/stores are canonicalized to unmasked loads/stores.
Depends On D107222
Paths
| Differential D107733
[mlir][SparseTensor] Split scf.for loop into masked/unmasked parts ClosedPublic Authored by springerm on Aug 9 2021, 12:26 AM.
Details Summary Apply the "for loop peeling" pattern from SCF dialect transforms. This pattern splits scf.for loops into full and partial iterations. In the full iteration, all masked loads/stores are canonicalized to unmasked loads/stores. Depends On D107222
Diff Detail
Event TimelineHerald added subscribers: wrengr, Chia-hungDuan, dcaballe and 17 others. · View Herald TranscriptAug 9 2021, 12:26 AM
springerm marked an inline comment as done. Comment Actionsaddress comments
springerm marked 2 inline comments as done. Comment Actionsaddress comments
springerm added inline comments.
Comment Actions I will stop the bikeshedding and LG this revision. But please still have a look if you can keep the -LABEL. This revision is now accepted and ready to land.Aug 16 2021, 9:32 PM
This revision was landed with ongoing or failed builds.Aug 19 2021, 5:53 AM Closed by commit rG76a186181634: [mlir][SparseTensor] Split scf.for loop into masked/unmasked parts (authored by springerm). · Explain Why This revision was automatically updated to reflect the committed changes. springerm marked an inline comment as done.
Revision Contents
Diff 367473 mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
mlir/test/Dialect/SparseTensor/sparse_vector.mlir
mlir/test/Dialect/SparseTensor/sparse_vector_peeled.mlir
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
|
you are running all the tests in this file now for VEC-2-PEELED
shall we test the peeling in a separate test that does just that?
e.g. sparse_vector_peeled.mlir with just that one function, the one RUN, and the one CHECK?