llvm-project/llvm/lib/Transforms/Vectorize
Simon Pilgrim a6e9141505 [TTI] Add OperandValueProperties::OP_NegatedPowerOf2 enum (PR51436)
The mul by constant costmodels handle power-of-2 constants, but not negated-power-of-2, despite the backends handling both.

This patch adds the OperandValueProperties::OP_NegatedPowerOf2 enum and wires it for use for basic mul cost analysis and SLP handling.

Fixes #50778

Differential Revision: https://reviews.llvm.org/D111968
2022-09-23 14:03:18 +01:00
..
CMakeLists.txt [VPlan] Move recipe implementations to separate file (NFC). 2022-06-28 10:34:30 +01:00
LoadStoreVectorizer.cpp [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf 2022-05-19 11:23:13 +01:00
LoopVectorizationLegality.cpp LoopVectorize: Pass through AssumptionCache 2022-09-19 19:25:22 -04:00
LoopVectorizationPlanner.h [LoopVectorize][NFC] Add optional Name parameter to VPInstruction 2022-07-11 09:23:24 +01:00
LoopVectorize.cpp [VPlan] Only generate single instr for unpredicated stores of varying value to invariant address 2022-09-22 08:53:46 -07:00
SLPVectorizer.cpp [TTI] Add OperandValueProperties::OP_NegatedPowerOf2 enum (PR51436) 2022-09-23 14:03:18 +01:00
VPRecipeBuilder.h [LV] Support predicated div/rem operations via safe-divisor select idiom 2022-08-24 10:07:59 -07:00
VPlan.cpp [LV] Keep track of cost-based ScalarAfterVec in VPWidenPointerInd. 2022-09-19 18:14:35 +01:00
VPlan.h [LV] Keep track of cost-based ScalarAfterVec in VPWidenPointerInd. 2022-09-19 18:14:35 +01:00
VPlanDominatorTree.h
VPlanHCFGBuilder.cpp [Transforms] Fix comment typos (NFC) 2022-08-07 23:55:24 -07:00
VPlanHCFGBuilder.h [VPlan] Use region for each loop in native path. 2022-06-01 10:41:05 +01:00
VPlanRecipes.cpp [LV] Keep track of cost-based ScalarAfterVec in VPWidenPointerInd. 2022-09-19 18:14:35 +01:00
VPlanSLP.cpp [Transforms] Qualify auto in range-based for loops (NFC) 2022-08-27 21:21:02 -07:00
VPlanTransforms.cpp [VPlan] Add field to track if intrinsic should be used for call. (NFC) 2022-09-01 13:14:40 +01:00
VPlanTransforms.h [VPlan] Add field to track if intrinsic should be used for call. (NFC) 2022-09-01 13:14:40 +01:00
VPlanValue.h [VPlan] Use range check in VPHeaderPHIRecipe::classof (NFC). 2022-08-28 15:54:12 +01:00
VPlanVerifier.cpp [VPlan] Verify that header only contains header phi recipes. 2022-08-27 22:06:12 +01:00
VPlanVerifier.h [VPlan] Add initial inner-loop VPlan verification. 2021-11-09 10:18:28 +00:00
VectorCombine.cpp VectorCombine: Pass through AssumptionCache 2022-09-19 19:25:22 -04:00
Vectorize.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00