[LV] Drop wrap flags for reductions using VP def-use chain.
authorFlorian Hahn <flo@fhahn.com>
Thu, 19 May 2022 19:36:46 +0000 (20:36 +0100)
committerFlorian Hahn <flo@fhahn.com>
Thu, 19 May 2022 19:36:46 +0000 (20:36 +0100)
commitc90235f0ef0bcdfab5087da496ea44de652a7363
tree9d4b0658cdadafe4929ab43bc0a8a4647bc616df
parente0b98902a2dfe729e239c07abec4f67ad8d10708
[LV] Drop wrap flags for reductions using VP def-use chain.

Update clearReductionWrapFlags to use the VPlan def-use chain from the
reduction phi recipe to drop reduction wrap flags.

This addresses an existing FIXME and fixes a crash when instructions in
the reduction chain are not used and have been removed before VPlan
codegeneration.

Fixes #55540.
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll