[all-commits] [llvm/llvm-project] d6590c: [MLIR] Add allow Insert/extract slice option to pa...
Zhuoran Yin via All-commits
all-commits at lists.llvm.org
Tue Dec 10 09:31:52 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d6590c1bcb1b15b3b3f9f0ee6f0a6ff2b10b1e4f
https://github.com/llvm/llvm-project/commit/d6590c1bcb1b15b3b3f9f0ee6f0a6ff2b10b1e4f
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
A mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
Log Message:
-----------
[MLIR] Add allow Insert/extract slice option to pack/unpack op (#117340)
This PR adds default option below. The new options will come as default
to true and not change the original lowering behavior of pack and unpack
op.
- lowerPadLikeWithInsertSlice to packOp (with default = true)
- lowerUnpadLikeWithExtractSlice to unPackOp (with default = true)
The motivation of the PR is finer granular control of the lowering of
pack and unpack Ops. This is useful in particular when we want to
guarantee that there's no additional insertslice and extractslice that
interfere with tiling. With the original lowering pipeline, packOp and
unPackOp may be lowered to insertslice and extractslice when the high
dimensions are unit dimensions and no transpose is invovled. Under such
circumstances, such insert and extract slice ops will block
producer/consumer fusion tile + fuse transforms. With this PR, we will
be able to disable such lowering path and allow consumer fusion to go
through as expected.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list