lower select pass

Hi

Well, its been quite some time... hope your are all as well as you have been
more than a year ago.

It just happend to be that i wrote a small pass (albeit for 2.5) which
removes the select instructions which had not been there in 2.2 8-/.
Since they made my bitrotting backend sad i had to find a way to get rid of
them...

The attached pass is slighly inspired (concerning the skeleton) by the lower
switch pass. It simply replaces the select instruction with a branch to to
dummy blocks which in turn unconditionally branch back to "tail" block which
contains the remaining instructions (guarded of course by a phi node).

Attached is also my small testdirectory (which is sadly not a real test).

It would nice if this pass would find its way to mainline.

I would also like this place to thank Tilmann, Nicholas and Daniel for their
great support via IRC.

Best regards
Tim

lower_select.patch (6.67 KB)

test_lowerselect.tar.gz (557 Bytes)