[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 }})
on user specified vector-lengths.
bviyer changed the title
Added a flag to enable flattening of Constants and Vectors based Add Vector bitwidth target to Linearize Vectorizable and Constant Ops
bviyer marked this pull request as ready for review
bviyer changed the title
Add Vector bitwidth target to Linearize Vectorizable and Constant Ops [mlir][vector]Add Vector bitwidth target to Linearize Vectorizable and Constant Ops
newling added a commit that referenced this pull request
[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
[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
[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
[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
…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
[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
[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.