[all-commits] [llvm/llvm-project] 0ab539: [VPlan] Add new VPScalarCastRecipe, use for IV & s...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri Jan 26 03:13:18 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0ab539fd6748adf2f638e10514dd9419597d8863
https://github.com/llvm/llvm-project/commit/0ab539fd6748adf2f638e10514dd9419597d8863
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
Log Message:
-----------
[VPlan] Add new VPScalarCastRecipe, use for IV & step trunc. (#78113)
Add a new recipe to model scalar cast instructions, without relying on
an underlying instruction.
This allows creating scalar casts, without relying on an underlying
instruction (like the current VPReplicateRecipe). The new recipe is
used to explicitly model both truncating the induction step and the
VPDerivedIVRecipe, thus simplifying both the recipe and code
needed to introduce it.
Truncating VPWidenIntOrFpInductionRecipes should also be modeled using
the new recipe, as follow-up.
PR: https://github.com/llvm/llvm-project/pull/78113
More information about the All-commits
mailing list