This is an archive of the discontinued LLVM Phabricator instance.

[mlir][vector] Add pattern to distribute splat constant
ClosedPublic

Authored by ThomasRaoux on Jul 11 2022, 12:03 AM.

Details

Summary

Distribute splat constant out of WarpExecuteOnLane0Op region.

Diff Detail

Event Timeline

ThomasRaoux created this revision.Jul 11 2022, 12:03 AM
ThomasRaoux requested review of this revision.Jul 11 2022, 12:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 11 2022, 12:03 AM
springerm accepted this revision.Jul 11 2022, 4:24 AM
springerm added inline comments.
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
560

should be wrapped in loop + updateRootInPlace.

This revision is now accepted and ready to land.Jul 11 2022, 4:24 AM
ThomasRaoux added inline comments.Jul 11 2022, 8:50 AM
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
560

The pattern is all over this file, let me do a separate clean up patch for this.

This revision was landed with ongoing or failed builds.Jul 11 2022, 8:52 AM
This revision was automatically updated to reflect the committed changes.
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
527

Sink really refers to increasing the nesting level.

How about:
Hoist out ... after the warp_execute_on_lane_0 op?