llvm-project/llvm/lib/Transforms/Vectorize
Florian Hahn 7c0ff64b0f
[LAA] Change to function analysis for new PM.
At the moment, LoopAccessAnalysis is a loop analysis for the new pass
manager. The issue with that is that LAI caches SCEV expressions and
modifications in a loop may impact SCEV expressions in other loops, but
we do not have a convenient way to invalidate LAI for other loops
withing a loop pipeline.

To avoid this issue, turn it into a function analysis which returns a
manager object that keeps track of the individual LAI objects per loop.

Fixes #50940.

Fixes #51669.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D134606
2022-10-01 15:44:27 +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][Fix] Crash when invariant store address is calculated inside loop 2022-09-28 10:33:50 +01:00
LoopVectorizationPlanner.h [LoopVectorize][NFC] Add optional Name parameter to VPInstruction 2022-07-11 09:23:24 +01:00
LoopVectorize.cpp [LAA] Change to function analysis for new PM. 2022-10-01 15:44:27 +01:00
SLPVectorizer.cpp Revert rG1b7089fe67b924bdd5ecef786a34bdba7a88778f "[SLP] Add ScalarizationOverheadBuilder helper to track vector extractions" 2022-09-30 11:22:48 +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] Update handling of scalable pointer inductions after b73d2c8. 2022-09-23 18:23:02 +01:00
VPlan.h [LV] Update handling of scalable pointer inductions after b73d2c8. 2022-09-23 18:23:02 +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] Update handling of scalable pointer inductions after b73d2c8. 2022-09-23 18:23:02 +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