The PeepholeOptimizer doesn't correctly propagate undef and would fail for vregs without definition.
Found while manually crafting testcases, in practice this is probably rare as it would mean incomplete DCE.
This changes the code to simply bail out if undef operands are involved (which is simpler code than correctly propagating the undef flag).