Revert svn r54432:
SDISel's constant branch folding can fold away self-loops, which doesn't result in any dead blocks, but rather an incorrect phi input. Add code to UnreachableMachineBlockElim to get rid of these entries.
The effect of the reversion is not to remove single-input phi nodes as
created by LCSSA. Instead, phi nodes are only removed if they started
with multiple inputs but were reduced to a single input because some of
their predecessor blocks were unreachable.
This makes a significant difference on AMDGPU where we deliberately go
into LCSSA form before instruction selection. I have not noticed any
effect on other targets.