[all-commits] [llvm/llvm-project] a1a686: [mlir][VectorOps] Add unrolling for n-D vector.int...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Tue Feb 20 06:33:45 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1a68603145a39e6abdd35bf7a01535eb53826b1
      https://github.com/llvm/llvm-project/commit/a1a68603145a39e6abdd35bf7a01535eb53826b1
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][VectorOps] Add unrolling for n-D vector.interleave ops (#80967)

This unrolls n-D vector.interleave ops like:

```mlir
vector.interleave %i, %j : vector<6x3xf32>
```

To a sequence of 1-D operations:
```mlir
%i_0 = vector.extract %i[0] 
%j_0 = vector.extract %j[0] 
%res_0 = vector.interleave %i_0, %j_0 : vector<3xf32>
vector.insert %res_0, %result[0] :
// ... repeated x6
```

The 1-D operations can then be directly lowered to LLVM.

Depends on: #80966



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