1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/Transforms/Vectorize
Bardia Mahjour fbc2c5ae27 [LV] Epilogue Vectorization with Optimal Control Flow (Recommit)
This is yet another attempt at providing support for epilogue
vectorization following discussions raised in RFC http://llvm.1065342.n5.nabble.com/llvm-dev-Proposal-RFC-Epilog-loop-vectorization-tt106322.html#none
and reviews D30247 and D88819.

Similar to D88819, this patch achieve epilogue vectorization by
executing a single vplan twice: once on the main loop and a second
time on the epilogue loop (using a different VF). However it's able
to handle more loops, and generates more optimal control flow for
cases where the trip count is too small to execute any code in vector
form.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D89566
2020-12-02 10:09:56 -05:00
..
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
LoadStoreVectorizer.cpp [CSSPGO] IR intrinsic for pseudo-probe block instrumentation 2020-11-20 10:39:24 -08:00
LoopVectorizationLegality.cpp [SVE] Add support for scalable vectors with vectorize.scalable.enable loop attribute 2020-12-02 13:23:43 +00:00
LoopVectorizationPlanner.h [LV] Epilogue Vectorization with Optimal Control Flow (Recommit) 2020-12-02 10:09:56 -05:00
LoopVectorize.cpp [LV] Epilogue Vectorization with Optimal Control Flow (Recommit) 2020-12-02 10:09:56 -05:00
SLPVectorizer.cpp [SLP] use 'match' for binop/select; NFC 2020-12-02 09:04:08 -05:00
VectorCombine.cpp [VectorCombine] Avoid crossing address space boundaries. 2020-10-16 13:19:31 -07:00
Vectorize.cpp [VectorCombine] new IR transform pass for partial vector ops 2020-02-09 10:04:41 -05:00
VPlan.cpp [VPlan] Use VPUser to manage VPPredInstPHIRecipe operand (NFC). 2020-11-30 13:09:58 +00:00
VPlan.h [VPlan] Use VPUser to manage VPPredInstPHIRecipe operand (NFC). 2020-11-30 13:09:58 +00:00
VPlanDominatorTree.h Revert multiple patches based on "Introduce CfgTraits abstraction" 2020-10-27 20:33:30 +01:00
VPlanHCFGBuilder.cpp
VPlanHCFGBuilder.h
VPlanLoopInfo.h
VPlanPredicator.cpp
VPlanPredicator.h
VPlanSLP.cpp [VPlan] Disconnect VPValue and VPUser. 2020-09-23 14:44:31 +01:00
VPlanTransforms.cpp [VPlan] Clean up uses/operands on VPBB deletion. 2020-10-05 14:43:52 +01:00
VPlanTransforms.h [VPlan] Turn classes with all public members into structs (NFC). 2020-04-12 11:03:39 +01:00
VPlanValue.h [VPlan] Use VPUser to manage VPPredInstPHIRecipe operand (NFC). 2020-11-30 13:09:58 +00:00
VPlanVerifier.cpp Use llvm::is_contained where appropriate (NFC) 2020-07-27 10:20:44 -07:00
VPlanVerifier.h [VPlan] Remove unused forward declarations. NFC. 2020-04-23 12:34:20 +01:00
VPRecipeBuilder.h [VPlan] Remove unused forward declarations. NFC. 2020-04-23 12:34:20 +01:00