This is an archive of the discontinued LLVM Phabricator instance.

[mlir][vector] Add pattern to decompose vector.mask with multiple ops
AbandonedPublic

Authored by dcaballe on Jan 11 2023, 5:45 PM.

Details

Summary

This pattern decomposes a vector.mask with multiple ops into multiple
vector.masks (for those ops that need masking) and ops without masking
(by moving them outside of the vector.mask). This is a wildcard pattern
for those cases where the mask propagation is 1:1 and no
slicing/decomposition of the mask is required.

Diff Detail

Event Timeline

dcaballe created this revision.Jan 11 2023, 5:45 PM
Herald added a project: Restricted Project. · View Herald Transcript
dcaballe requested review of this revision.Jan 11 2023, 5:45 PM
mlir/lib/Dialect/Vector/IR/VectorOps.cpp
5460

Does it make sense to locate that under a new Dialect/Vector/Transforms/VectorMaskingRewritePatterns.cpp with a proper populate function added to third_party/llvm-project/mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h?

I've been trying to structure things a bit this way for sanity.

dcaballe abandoned this revision.May 22 2023, 10:58 AM