[all-commits] [llvm/llvm-project] cbd72c: [mlir][vector] Split `TransposeOpLowering` into 2 ...

Andrzej Warzyński via All-commits all-commits at lists.llvm.org
Tue May 14 04:09:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cbd72cb0deec31a5c3063cf1f1af759761115eee
      https://github.com/llvm/llvm-project/commit/cbd72cb0deec31a5c3063cf1f1af759761115eee
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp

  Log Message:
  -----------
  [mlir][vector] Split `TransposeOpLowering` into 2 patterns (#91935)

Splits `TransposeOpLowering` into two patterns:
1. `Transpose2DWithUnitDimToShapeCast` - rewrites 2D `vector.transpose`
    as `vector.shape_cast` (there has to be at least one unit dim),
  2. `TransposeOpLowering` - the original pattern without the part
    extracted into `Transpose2DWithUnitDimToShapeCast`.

The rationale behind the split:
  * the output generated by `Transpose2DWithUnitDimToShapeCast` doesn't
    really match the intended output from `TransposeOpLowering` as
    documented in the source file - it doesn't make much sense to keep
    it embedded inside `TransposeOpLowering`,
* `Transpose2DWithUnitDimToShapeCast` _does_ work for scalable vectors,
    `TransposeOpLowering` _does_ not.



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