This is an archive of the discontinued LLVM Phabricator instance.

[mlir] add VectorizeOp to structured transform ops
ClosedPublic

Authored by ftynse on May 27 2022, 7:34 AM.

Details

Summary

Vectorization is a key transformation to achieve high performance on most
architectures. In the transform dialect, vectorization is implemented as a
parameterizable transform op. It currently applies to a scope of payload IR
delimited by some isolated-from-above op, mainly because several enabling
transformations (such as affine simplification) are needed to perform
vectorization and these transformation would apply to ops other than the "main"
computational payload op. A separate "navigation" transform op that obtains the
isolated-from-above ancestor of an op is introduced in the core transform
dialect. Even though it is currently only useful for vectorization,
isolated-from-above ops are a common anchor for transformations (usually
implemented as passes) that is likely to be reused in the future.

Depends On D126374

Diff Detail

Event Timeline

ftynse created this revision.May 27 2022, 7:34 AM
Herald added a project: Restricted Project. · View Herald Transcript
ftynse requested review of this revision.May 27 2022, 7:34 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 27 2022, 7:34 AM

typo in commit message: transfomrations.

nicolasvasilache accepted this revision.May 30 2022, 2:18 AM
nicolasvasilache added inline comments.
mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
137

vectoriztaion

mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
19

Rename to get_closest_isolated_parent?
I imagine in the future we may see a get_common_isolated_parent

30

typo: assocaited

31

same

This revision is now accepted and ready to land.May 30 2022, 2:18 AM
ftynse updated this revision to Diff 432889.May 30 2022, 4:52 AM
ftynse marked 4 inline comments as done.

Review

ftynse edited the summary of this revision. (Show Details)May 30 2022, 4:59 AM
ftynse updated this revision to Diff 432906.May 30 2022, 6:13 AM

clang-format

This revision was landed with ongoing or failed builds.May 30 2022, 8:37 AM
This revision was automatically updated to reflect the committed changes.