Revert "Revert "[CodeGen] Extend reduction support in ComplexDeinterleaving pass...
authorIgor Kirillov <igor.kirillov@arm.com>
Fri, 23 Jun 2023 09:55:34 +0000 (09:55 +0000)
committerIgor Kirillov <igor.kirillov@arm.com>
Fri, 23 Jun 2023 10:13:22 +0000 (10:13 +0000)
commit04a8070b46da2bcd47d0a134922409dc16bb9d57
tree33ce3a20bc949144b0d2d419db4d350a1e6c51ab
parent2273741ea2547ecda28cb01d7679d0563b35ac16
Revert "Revert "[CodeGen] Extend reduction support in ComplexDeinterleaving pass to support predication""

Adds the capability to recognize SelectInst that appear in the IR.
These instructions are generated during scalable vectorization for reduction
and when the code contains conditions inside the loop body or when
"-prefer-predicate-over-epilogue=predicate-dont-vectorize" is set.

Differential Revision: https://reviews.llvm.org/D152558

This reverts commit ab09654832dba5cef8baa6400fdfd3e4d1495624.

Reason: Reapplying after removing unnecessary default case in switch expression.
llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll