Revision tags: llvmorg-21-init |
|
#
08d14e10 |
| 28-Jan-2025 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP] Fix CommonMask will be transformed into an incorrect mask if createShuffle is called multiple times. (#124244)
We have two types of mask in SLP: a scalar mask and a vector mask.
When vectoriz
[SLP] Fix CommonMask will be transformed into an incorrect mask if createShuffle is called multiple times. (#124244)
We have two types of mask in SLP: a scalar mask and a vector mask.
When vectorizing four i32 additions into <4 x i32>, SLP creates a mask
of length 4.
When vectorizing four <2 x i32> additions into <8 x i32>, SLP also
creates a mask of length 4.
We refer to the first case as a scalar mask (because the mask element
represents a scalar, i32), and the second case as a vector mask (because
the mask element represents a vector, <4 x i32>).
At some point, we must convert the scalar mask into a vector mask
(otherwise, calling TTI cost functions or IRBuilderBase functions may
yield incorrect results).
Since both ShuffleCostEstimator and ShuffleInstructionBuilder can modify
the CommonMask, we have decided to perform the mask transformation only
within createShuffle. However, we do not store the transformed result,
as createShuffle may be called multiple times.
show more ...
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
2546ae4e |
| 12-Dec-2024 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP][REVEC] Fix the number of elements in the mask of a ShuffleVectorInst is not a power of 2. (#119689)
The following shufflevector should not be vectorized when
slp-vectorize-non-power-of-2 is e
[SLP][REVEC] Fix the number of elements in the mask of a ShuffleVectorInst is not a power of 2. (#119689)
The following shufflevector should not be vectorized when
slp-vectorize-non-power-of-2 is enabled.
shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 0, i32
1, i32 2>
shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 4, i32
5, i32 6>
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
3cdd86bb |
| 10-Nov-2024 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP][REVEC] Make GetMinMaxCost support FixedVectorType when REVEC is enabled. (#115417)
|
#
22b4b1ab |
| 07-Nov-2024 |
Kazu Hirata <kazu@google.com> |
Revert "[SLP][REVEC] Make GetMinMaxCost support FixedVectorType when REVEC is enabled. (#114946)"
This reverts commit f58757b8dc167809b69ec00f9b5ab59281df0902.
Failing buildbots: https://lab.llvm.o
Revert "[SLP][REVEC] Make GetMinMaxCost support FixedVectorType when REVEC is enabled. (#114946)"
This reverts commit f58757b8dc167809b69ec00f9b5ab59281df0902.
Failing buildbots: https://lab.llvm.org/buildbot/#/builders/174/builds/8058 https://lab.llvm.org/buildbot/#/builders/127/builds/1357
show more ...
|
#
f58757b8 |
| 07-Nov-2024 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP][REVEC] Make GetMinMaxCost support FixedVectorType when REVEC is enabled. (#114946)
|
#
38fffa63 |
| 06-Nov-2024 |
Paul Walker <paul.walker@arm.com> |
[LLVM][IR] Use splat syntax when printing Constant[Data]Vector. (#112548)
|
#
a795a18b |
| 01-Nov-2024 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP][REVEC] VF should be scaled when ScalarTy is FixedVectorType. (#114551)
|
Revision tags: llvmorg-19.1.3 |
|
#
cb5046da |
| 24-Oct-2024 |
Alexey Bataev <a.bataev@outlook.com> |
[SLP]Do not ignore undefs when trying to replace with "poisonous" shuffles
Need to consider undefs correctly, when trying to replace them with potentially poisonous values in shuffles. Such elements
[SLP]Do not ignore undefs when trying to replace with "poisonous" shuffles
Need to consider undefs correctly, when trying to replace them with potentially poisonous values in shuffles. Such elements should not be silently replaced by poison values, instead complex analysis should be implemented to see if it is safe to do it.
Fixes #113425
show more ...
|
Revision tags: llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4 |
|
#
3d1c63ee |
| 27-Aug-2024 |
Han-Kuan Chen <hankuan.chen@sifive.com> |
[SLP][REVEC] Expand getelementptr into vector form. (#103704)
|