diff options
| author | Florian Hahn <flo@fhahn.com> | 2025-10-30 15:46:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-30 15:46:19 -0700 |
| commit | b2d12d6f2ba60a2f5c76cf535e2b215443a9c221 (patch) | |
| tree | 9094f72be2d464fdd8e7e933cdc6079747e7e540 /lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h | |
| parent | c46bfed1a484d30cd251a9a225649d74e3bf0af5 (diff) | |
| download | llvm-b2d12d6f2ba60a2f5c76cf535e2b215443a9c221.zip llvm-b2d12d6f2ba60a2f5c76cf535e2b215443a9c221.tar.gz llvm-b2d12d6f2ba60a2f5c76cf535e2b215443a9c221.tar.bz2 | |
[VPlan] Extend getSCEVForVPV, use to compute VPReplicateRecipe cost. (#161276)
Update getSCEVExprForVPValue to handle more complex expressions, to use
it in VPReplicateRecipe::comptueCost.
In particular, it supports construction SCEV expressions for
GetElementPtr VPReplicateRecipes, with operands that are
VPScalarIVStepsRecipe, VPDerivedIVRecipe and VPCanonicalIVRecipe. If we
hit a sub-expression we don't support yet, we return
SCEVCouldNotCompute.
Note that the SCEV expression is valid VF = 1: we only support
construction AddRecs for VPCanonicalIVRecipe, which is an AddRec
starting at 0 and stepping by 1. The returned SCEV expressions could be
converted to a VF specific one, by rewriting the AddRecs to ones with
the appropriate step.
Note that the logic for constructing SCEVs for GetElementPtr was
directly ported from ScalarEvolution.cpp.
Another thing to note is that we construct SCEV expression purely by
looking at the operation of the recipe and its translated operands, w/o
accessing the underlying IR (the exception being getting the source
element type for GEPs).
PR: https://github.com/llvm/llvm-project/pull/161276
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h')
0 files changed, 0 insertions, 0 deletions
