This is an archive of the discontinued LLVM Phabricator instance.

[mlir][Vector] Add folding for vector.transfer ops
ClosedPublic

Authored by nicolasvasilache on Jul 10 2020, 12:52 PM.

Details

Summary

This revision folds vector.transfer operations by updating the masked bool array attribute when more unmasked dimensions can be discovered.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald Transcript
aartbik accepted this revision.Jul 10 2020, 1:07 PM
aartbik added inline comments.
mlir/include/mlir/IR/AffineMap.h
101–102

nit: the map -> this affine map
(like above and below, now that this is instance, not static method)?

mlir/lib/Dialect/Vector/VectorOps.cpp
1747

At first reading, all these different sizes are a bit confusing (reserve, and two indices that go down).
Add a comment on the transfer format to make this more clear?

mlir/test/Dialect/Vector/canonicalize.mlir
371

I cases like this, I am always wondering on the scope of CHECK-NOT (how far does it go :-)
Perhaps add

CHECK: return

just to make the delimiters more clear?

This revision is now accepted and ready to land.Jul 10 2020, 1:07 PM
nicolasvasilache marked 3 inline comments as done.Jul 10 2020, 1:46 PM
This revision was automatically updated to reflect the committed changes.