[VPlan] Introduce VPWidenSelectRecipe (NFC).
authorFlorian Hahn <flo@fhahn.com>
Mon, 13 Apr 2020 07:28:26 +0000 (08:28 +0100)
committerFlorian Hahn <flo@fhahn.com>
Mon, 13 Apr 2020 07:35:28 +0000 (08:35 +0100)
commit18138e02529067144acd4bdb9c0ac09beac5cd3d
tree37fc08a2799d66e28de3aff94eada407c758fe51
parent43cf489cf5c3b2178d23240dd88e9306fb8589e2
[VPlan] Introduce VPWidenSelectRecipe (NFC).

Widening a selects depends on whether the condition is loop invariant or
not. Rather than checking during codegen-time, the information can be
recorded at the VPlan construction time.

This was suggested as part of D76992, to reduce the reliance on
accessing the original underlying IR values.

Reviewers: gilr, rengolin, Ayal, hsaito

Reviewed By: gilr

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