* tree-ssa-ifcombine.c (forwarder_block_to): New function.
	(tree_ssa_ifcombine_bb_1): New function.
	(tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
	is an empty forwarder block to then_bb or vice versa and then_bb
	and else_bb are effectively swapped.

	* gcc.dg/tree-ssa/ssa-ifcombine-12.c: New test.
	* gcc.dg/tree-ssa/ssa-ifcombine-13.c: New test.
	* gcc.dg/tree-ssa/phi-opt-2.c: Pass -mbranch-cost=1 if
	possible, only test for exactly one if if -mbranch-cost=1
	has been passed.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208512 138bc75d-0d04-0410-961f-82ee72b054a4