[CodeGen] Add support for reductions in ComplexDeinterleaving pass
authorIgor Kirillov <igor.kirillov@arm.com>
Fri, 2 Jun 2023 19:14:07 +0000 (19:14 +0000)
committerIgor Kirillov <igor.kirillov@arm.com>
Wed, 14 Jun 2023 17:27:26 +0000 (17:27 +0000)
commit2cbc265cc947c40372b841f80649276fbf9d183f
tree1a6ba6fad125201442975498834657623269b130
parente0f7b0e0f704dc3759925602e474b9e669270fcb
[CodeGen] Add support for reductions in ComplexDeinterleaving pass

This commit enhances the ComplexDeinterleaving pass to handle unordered
reductions in simple one-block vectorized loops, supporting both
SVE and Neon architectures.

Differential Revision: https://reviews.llvm.org/D152022
llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll