llvm-project/llvm/test/Transforms/LoopVectorize/ARM
Florian Hahn 95f76bff1c
[LV] Create & use VPScalarIVSteps for all scalar users.
This patch is a follow-up to D115953. It updates optimizeInductions
to also introduce new VPScalarIVStepsRecipes if an IV has both vector
and scalar uses.

It updates all uses that only need scalar values to use the newly
created recipe for the scalar steps.

This completes untangling of VPWidenIntOrFpInductionRecipe
code-generation. Now the recipe *only* creates the widened vector
values, as it says on the tin.

The code to genereate IR has been moved directly to
VPWidenIntOrFpInductionRecipe::execute.

Note that the recipe has been updated to hold a reference to
ScalarEvolution, which is needed to expand the step, until we can place
the corresponding SCEV expansion in the pre-header.

Depends on D120827.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D120828
2022-03-13 17:15:24 +00:00
..
arm-ieee-vectorize.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
arm-unroll.ll
gather-cost.ll
gcc-examples.ll
interleaved_cost.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
lit.local.cfg
mve-gather-scatter-tailpred.ll [LV] Create & use VPScalarIVSteps for all scalar users. 2022-03-13 17:15:24 +00:00
mve-icmpcost.ll [ARM] Make MVE v2i1 predicates legal 2021-12-03 14:05:41 +00:00
mve-interleaved-cost.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
mve-known-trip-count.ll
mve-maskedldst.ll
mve-predstorecost.ll
mve-qabs.ll
mve-reduction-predselect.ll [InstCombine] Canonicalize SPF to min/max intrinsics 2022-02-24 09:01:20 +01:00
mve-reduction-types.ll [VPlan] Handle IV vector splat using VPWidenCanonicalIV. 2022-01-29 16:25:27 +00:00
mve-reductions.ll [LV][ARM] Improve reduction costmodel for mismatching extension types. 2021-12-10 15:40:58 +00:00
mve-saddsatcost.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
mve-selectandorcost.ll [ARM] Make MVE v2i1 predicates legal 2021-12-03 14:05:41 +00:00
mve-shiftcost.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
mve-vldn.ll
pointer_iv.ll [VPlan] Add VPCanonicalIVPHIRecipe, partly retire createInductionVariable. 2022-01-05 10:46:06 +00:00
prefer-tail-loop-folding.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
scalar-block-cost.ll
sphinx.ll
tail-fold-multiple-icmps.ll [InstCombine] Canonicalize SPF to min/max intrinsics 2022-02-24 09:01:20 +01:00
tail-folding-allowed.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
tail-folding-counting-down.ll
tail-folding-loop-hint.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
tail-folding-not-allowed.ll [LV] Create & use VPScalarIVSteps for all scalar users. 2022-03-13 17:15:24 +00:00
tail-folding-prefer-flag.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
tail-folding-reduces-vf.ll
tail-folding-reductions-allowed.ll [ARM] Add datalayout to costmodel tests. NFC 2021-11-16 09:49:42 +00:00
tail-folding-scalar-epilogue-fallback.ll Recommit "[VPlan] Introduce recipe to build scalar steps." 2022-02-28 14:12:20 +00:00
vector_cast.ll
width-detect.ll