[X86][SSE] combineX86ShufflesRecursively - bail if constant folding fails due to...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Jul 2021 17:50:12 +0000 (18:50 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Jul 2021 18:21:46 +0000 (19:21 +0100)
commitd2458bcdc664a469c2198dcb65b94bcc445b1028
treec94d1198607af615d4a7cad69b9c88d77cbda22d
parentc8937b6cb9751807de1e69f0f0f70a9a58f8f5dc
[X86][SSE] combineX86ShufflesRecursively - bail if constant folding fails due to oneuse limits.

Fixes issue reported on D105827 where a single shuffle of a constant (with multiple uses) was caught in an infinite loop where one shuffle (UNPCKL) used an undef arg but then that got recombined to SHUFPS as the constant value had its own undef that confused matching.....
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-combining.ll