[all-commits] [llvm/llvm-project] f3dcc0: [mlir] Refactor ConvertVectorToLLVMPass options (#...

Artemiy Bulavin via All-commits all-commits at lists.llvm.org
Mon Mar 10 03:32:26 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
      https://github.com/llvm/llvm-project/commit/f3dcc0fe228f6a1a69147ead0a76ce0fe02d316d
  Author: Artemiy Bulavin <artemiyb at graphcore.ai>
  Date:   2025-03-10 (Mon, 10 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    A mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir

  Log Message:
  -----------
  [mlir] Refactor ConvertVectorToLLVMPass options (#128219)

The `VectorTransformsOptions` on the `ConvertVectorToLLVMPass` is
currently represented as a struct, which makes it not serialisable. This
means a pass pipeline that contains this pass cannot be represented as
textual form, which breaks reproducer generation and options such as
`--dump-pass-pipeline`.

This PR expands the `VectorTransformsOptions` struct into the two
options that are actually used by the Pass' patterns:
`vector-contract-lowering` and `vector-transpose-lowering` . The other
options present in VectorTransformOptions are not used by any patterns
in this pass.

Additionally, I have changed some interfaces to only take these specific
options over the full options struct as, again, the vector contract and
transpose lowering patterns only need one of their respective options.

Finally, I have added a simple lit test that just prints the pass
pipeline using `--dump-pass-pipeline` to ensure the options on this pass
remain serialisable.

Fixes #129046



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