Avoid creating invalid PhiNodes in IR passes (#50235)
As of #50158, irverify catches cases where PhiNodes show up in the
middle of a basic block (which is illegal). Unfortunately, it turns
out there were two cases in Base, where we created just such code:
1. When cfg_simplify! merged basic blocks, it didn't bother to delete
(resp, replace by the one incoming edge) the PhiNodes in the basic
block it was merging.
2. In irinterp we try to delete instructions that result in constants.
This is not legal if the instruction is a PhiNode.
The second of these is somewhat unfortunate, but any subsequent compaction
will of course take care of it, so I don't think it's a huge issue
to just disable the replacement.