This is an archive of the discontinued LLVM Phabricator instance.

[mlir][vector] Add fold for ExtractStridedSlie(non-splat ConstantOp)
ClosedPublic

Authored by kuhar on Nov 23 2022, 1:38 PM.

Details

Summary

This allows us to better canonicalize/clean-up code created by the Wide
Integer Emulation pass.

Diff Detail

Event Timeline

kuhar created this revision.Nov 23 2022, 1:38 PM
Herald added a project: Restricted Project. · View Herald Transcript
kuhar requested review of this revision.Nov 23 2022, 1:38 PM
Herald added a project: Restricted Project. · View Herald Transcript
kuhar updated this revision to Diff 477593.Nov 23 2022, 1:40 PM

Hoist a unit stride check

kuhar updated this revision to Diff 477595.Nov 23 2022, 1:45 PM

Rebased

kuhar updated this revision to Diff 477597.Nov 23 2022, 1:48 PM

Remove accidental includes

mlir/lib/Dialect/Vector/IR/VectorOps.cpp
2847

@mravishankar Do you know if there is a cleaner way to enumerate elements within the slice?

kuhar updated this revision to Diff 477838.Nov 24 2022, 1:00 PM

Enumerate slice element positions (only) to calculate linearized slice indices.
This way we do not have to filter original vector elements based on being within
the slice or not.

kuhar updated this revision to Diff 477839.Nov 24 2022, 1:01 PM

Fix a typo

kuhar updated this revision to Diff 477840.Nov 24 2022, 1:03 PM

Remove accidental includes

antiagainst accepted this revision.Nov 25 2022, 10:18 AM
This revision is now accepted and ready to land.Nov 25 2022, 10:18 AM