[mlir][vector]Add Vector bitwidth target to Linearize Vectorizable and Constant Ops by bviyer · Pull Request #83314 · llvm/llvm-project (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

bviyer

@bviyer

on user specified vector-lengths.

@bviyer

@bviyer bviyer changed the titleAdded a flag to enable flattening of Constants and Vectors based Add Vector bitwidth target to Linearize Vectorizable and Constant Ops

Feb 29, 2024

@bviyer

@bviyer bviyer marked this pull request as ready for review

February 29, 2024 02:03

Hardcode84

hanhanW

@bviyer

@bviyer

@bviyer

@bviyer bviyer changed the titleAdd Vector bitwidth target to Linearize Vectorizable and Constant Ops [mlir][vector]Add Vector bitwidth target to Linearize Vectorizable and Constant Ops

Mar 4, 2024

Hardcode84

newling added a commit that referenced this pull request

Apr 30, 2025

@newling

…136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In #83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@newling @IanWood1

…lvm#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@newling @IanWood1

…lvm#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request

May 6, 2025

@newling @IanWood1

…lvm#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

May 6, 2025

@newling @github-actions

…f patterns (#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm/llvm-project#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

GeorgeARM pushed a commit to GeorgeARM/llvm-project that referenced this pull request

May 7, 2025

@newling @GeorgeARM

…lvm#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.

Ankur-0429 pushed a commit to Ankur-0429/llvm-project that referenced this pull request

May 9, 2025

@newling @Ankur-0429

…lvm#136581)

[NFC] Vector linearization is a collection of rewrite patterns that reduce the rank of vector operands and results.

In llvm#83314 an option to ignore (make 'legal') operations with large inner-most dimensions was added. This current PR is a step towards making that option live outside of upstream MLIR. The motivation is to remove non-core functionality (I would like to use this pass, but would prefer not to deal with 'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the targetVectorBitWidth move the relevant code (now in mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code bases, and then eventually remove it from upstream. In addition the tests need to split out (I've intentionally not modified the lit tests here, to make it easier to confirm that this is a NFC). I'm happy to help make it easier to do this final step!

The approach I've used is to move the logic pertaining to targetVectorBitWidth out the patterns, and into the conversion target, which the end user can control outside of core MLIR.