In the DAG pattern backend, SimplifyTree simplifies a pattern by
removing bitconverts between two identical types. But that function is
also run on the fragments list in instances of PatFrags, in which
the types haven't been specified yet. So the input and output of the
bitconvert always evaluate to the empty set of types, which makes them
compare equal. So the test always passes, and bitconverts are
unconditionally removed from the PatFrag RHS.
Fixed by spotting the empty type set and using it to inhibit the
optimization.