[LV] Perform recurrence sinking directly on VPlan.
authorFlorian Hahn <flo@fhahn.com>
Wed, 8 Feb 2023 15:49:29 +0000 (15:49 +0000)
committerFlorian Hahn <flo@fhahn.com>
Wed, 8 Feb 2023 15:49:29 +0000 (15:49 +0000)
commitc83fdc905a655b1354a2b4d3d23f4b7d63e02777
tree0a7144cabac7e98202abe093bdfa86f53867909f
parent1f01cdda68614dba12af3cc3aff38541d0abcc6b
[LV] Perform recurrence sinking directly on VPlan.

This patch updates LV to sink recipes directly using the VPlan use
chains. The initial patch only moves sinking to be purely VPlan-based.
Follow-up patches will move legality checks to VPlan as well.

At the moment, there's a single test failure remaining.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D142589
llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
llvm/lib/Transforms/Vectorize/VPlanTransforms.h
llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll