[InstCombine] Extend pattern to replace shuffle's insertelement operand
authorPiotr Sobczak <Piotr.Sobczak@amd.com>
Fri, 22 Oct 2021 15:11:13 +0000 (17:11 +0200)
committerPiotr Sobczak <Piotr.Sobczak@amd.com>
Wed, 3 Nov 2021 08:43:04 +0000 (09:43 +0100)
commit03961709edd138a3b3d3e813ad30d20cdf8d7740
tree8b3f46dbdff02e155c59743d88b3415d2961b590
parent9c4971740b875530d21d3b73d8843fa88249085f
[InstCombine] Extend pattern to replace shuffle's insertelement operand

In D71220 a pattern was added to replace shuffle's insertelement operand
if inserted scalar is not demanded. The pattern was added only for
the case where the shuffle's mask size is equal to element's vector size.
However, that condition is not required because the pattern does not
change the shuffle vector size.

This patch extends the pattern to also include cases where shuffle's mask
size is not equal to element's vector size.

Differential Revision: https://reviews.llvm.org/D112318
llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll