[all-commits] [llvm/llvm-project] 3925d1: [MLIR][XeGPU] Decompose unsupported 'vector.transf...

Dmitry Chigarev via All-commits all-commits at lists.llvm.org
Thu Mar 5 08:08:45 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3925d112c44413f858bcb50c00125e039cef170e
      https://github.com/llvm/llvm-project/commit/3925d112c44413f858bcb50c00125e039cef170e
  Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Decompose unsupported 'vector.transfer_read'-transpose-permutations (#182875)

The PR adds a pattern to `vector-to-xegpu` pass that decomposes
`vector.transfer_read` with unsupported transpose-permutations
(unsupported element-type) into `vector.transfer_read +
vector.transpose`:

Example:

```mlir
// input-ir:
  %0 = vector.transfer_read %source[%offset, %offset], %c0
    {permutation_map = affine_map<(d0, d1) -> (d1, d0)>,
    in_bounds = [true, true]} : memref<32x64xf16>, vector<8x16xf16>

// mlir-opt %s --convert-vector-to-xegpu
// before PR (no conversion because of unsupported type):
  %0 = vector.transfer_read %source[%offset, %offset], %c0
    {permutation_map = affine_map<(d0, d1) -> (d1, d0)>,
    in_bounds = [true, true]} : memref<32x64xf16>, vector<8x16xf16>

// mlir-opt %s --convert-vector-to-xegpu
// after PR (decomposed + converted):
  %0 = xegpu.load_nd %source[%offset, %offset]
  %1 = vector.transpose %0
```

---------

Signed-off-by: dchigarev <dmitry.chigarev at intel.com>



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