llvm-project/llvm/lib/Transforms/Vectorize
Sander de Smalen 3d549dddf7 [LV] Pass compare predicate to getCmpSelInstrCost.
If the condition of a select is a compare, pass its predicate to
TTI::getCmpSelInstrCost to get a more accurate cost value instead
of passing BAD_ICMP_PREDICATE.

I noticed that the commit message from D90070 had a comment about the
vectorized select predicate possibly being composed of other compares with
different predicate values, but I wasn't able to construct an example
where this was an actual issue. If this is an issue, I guess we could
add another check that the block isn't predicated for any reason.

Reviewed By: dmgreen, fhahn

Differential Revision: https://reviews.llvm.org/D114646
2021-12-06 11:41:27 +00:00
..
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
LoadStoreVectorizer.cpp Fixed more warnings in LLVM produced by -Wbitwise-instead-of-logical 2021-10-03 13:58:10 +02:00
LoopVectorizationLegality.cpp [Transforms] Migrate from getNumArgOperands to arg_size (NFC) 2021-10-01 09:57:40 -07:00
LoopVectorizationPlanner.h [LoopVectorize] Permit fixed-width epilogue loops for scalable vector bodies 2021-11-08 09:41:13 +00:00
LoopVectorize.cpp [LV] Pass compare predicate to getCmpSelInstrCost. 2021-12-06 11:41:27 +00:00
SLPVectorizer.cpp [SLP]Fix reused extracts cost. 2021-12-02 10:52:00 -08:00
VPRecipeBuilder.h [VPlan] Track both incoming values for first-order recurrence phis. 2021-06-27 14:29:35 +01:00
VPlan.cpp [LoopVectorize] Print fast-math flags for VPReductionRecipe 2021-11-24 08:50:05 +00:00
VPlan.h [VPlan] Separate ctors for VPWidenIntOrFpInduction. (NFC) 2021-12-05 12:15:18 +00:00
VPlanDominatorTree.h Revert multiple patches based on "Introduce CfgTraits abstraction" 2020-10-27 20:33:30 +01:00
VPlanHCFGBuilder.cpp [VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe. 2021-02-22 09:44:25 +00:00
VPlanHCFGBuilder.h
VPlanLoopInfo.h
VPlanPredicator.cpp [llvm] Drop unnecessary make_range (NFC) 2021-01-09 09:25:00 -08:00
VPlanPredicator.h
VPlanSLP.cpp VPlanSLP.cpp - tidy implicit header dependencies. NFCI. 2021-06-13 12:37:17 +01:00
VPlanTransforms.cpp [VPlan] Separate ctors for VPWidenIntOrFpInduction. (NFC) 2021-12-05 12:15:18 +00:00
VPlanTransforms.h [VPlan] Merge predicated-triangle regions, after sinking. 2021-06-28 11:10:38 +01:00
VPlanValue.h Recommit "[VPlan] Add recipe for first-order rec phis, make splicing explicit." 2021-07-26 15:50:30 +01:00
VPlanVerifier.cpp [VPlan] Guard code to dump instructions after d9361bfbe2. 2021-11-09 10:29:05 +00:00
VPlanVerifier.h [VPlan] Add initial inner-loop VPlan verification. 2021-11-09 10:18:28 +00:00
VectorCombine.cpp [VectorCombine] fold shuffle-of-binops with common operand 2021-10-21 12:37:54 -04:00
Vectorize.cpp