HomePhabricator

[InstCombine] replace undef elements in vector constant when doing icmp folds…

Authored by spatel on Jan 3 2020, 6:15 AM.

Description

[InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383)

As shown in P44383:
https://bugs.llvm.org/show_bug.cgi?id=44383
...we can't safely propagate a vector constant through this icmp fold
if that vector constant contains undefined elements.

We know that each defined element of the constant is safe though, so
find the first of those and replicate it into the formerly undef lanes.

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

Details