DAG: Fold out selects with an undef operand

Authored by arsenm on Jun 20 2018, 9:10 AM.



Instcombine already does this, but this can appear during legalization.

test/CodeGen/Hexagon/expand-vselect-kill.ll completely changes when fixed, and I'm not sure what exactly it was looking for in the first place

Diff Detail

arsenm created this revision.Jun 20 2018, 9:10 AM
kparzysz accepted this revision.Jun 20 2018, 12:27 PM

The testcase was looking for two conditional assignments, both based on the same predicate register, but with one condition "if-true" and the other "if-false". The original bug was that the "kill" flag on the condition register wasn't cleared on the first assignment and so it was killed before the second conditional assignment (causing a verifier error). I just replaced this testcase with a .mir version, so it's no longer there.

This revision is now accepted and ready to land.Jun 20 2018, 12:27 PM