[LV] Add VPValue operands to VPBlendRecipe (NFCI)
authorGil Rapaport <gil.rapaport@intel.com>
Mon, 6 Apr 2020 11:02:34 +0000 (14:02 +0300)
committerGil Rapaport <gil.rapaport@intel.com>
Thu, 9 Apr 2020 15:48:33 +0000 (18:48 +0300)
commite2a186788051ac3fb22f8d99bec4b68ee3d7b81b
treea3346005a35c24d034a9672179895194099df472
parenta1726e65bc1fdbd2800839e48e68cb4a68cc7092
[LV] Add VPValue operands to VPBlendRecipe (NFCI)

InnerLoopVectorizer's code called during VPlan execution still relies on
original IR's def-use relations to decide which vector code to generate,
limiting VPlan transformations ability to modify def-use relations and still
have ILV generate the vector code.
This commit introduces VPValues for VPBlendRecipe to use as the values to
blend. The recipe is generated with VPValues wrapping the phi's incoming values
of the scalar phi. This reduces ingredient def-use usage by ILV as a step
towards full VPlan-based def-use relations.

Differential Revision: https://reviews.llvm.org/D77539
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/VPlan.cpp
llvm/lib/Transforms/Vectorize/VPlan.h