[SLP]Fix PR55653: emit undefs where required, not poison.
authorAlexey Bataev <a.bataev@outlook.com>
Tue, 24 May 2022 13:53:19 +0000 (06:53 -0700)
committerAlexey Bataev <a.bataev@outlook.com>
Thu, 26 May 2022 15:38:50 +0000 (08:38 -0700)
commit120d52b0ef8b0d41d5ce5898422d2d2f42047d0b
treede8e66c5666ce8a89ed117fb206bac06320125de
parent8b0d7634743965948234b666c77393d4dd8535d7
[SLP]Fix PR55653: emit undefs where required, not poison.

Need to handle a corner case correctly, if all elements are Undefs/Poisons,
need to emit actual values, not just poisons.

Differential Revision: https://reviews.llvm.org/D126298
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
llvm/test/Transforms/SLPVectorizer/X86/insert-shuffle.ll
llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-used-in-phi.ll
llvm/test/Transforms/SLPVectorizer/X86/partail.ll
llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll