------- Comment #3 from rguenth at gcc dot gnu dot org 2010-07-20 11:20 -------
#1 0x0000000000aeab84 in propagate_rhs_into_lhs (stmt=0x7ffff5b4d370,
lhs=0x7ffff5afc738, rhs=0x7ffff5afc738, interesting_names=0x17b93c8)
at /space/rguenther/src/svn/trunk/gcc/tree-ssa-dom.c:2728
2728 gcc_assert (!all || has_zero_uses (lhs));
(gdb) p all
$1 = 1 '\001'
(gdb) p lhs
(gdb) call debug_immediate_uses_for (lhs)
g_67.1_6 : --> single use.
g_67.1_6 = g_67.1_6;
We have
<bb 9>:
# l_85_37 = PHI <0(9), 0(4)>
# prephitmp.12_36 = PHI <g_67.1_6(9), g_67.1_7(4)>
g_67.1_6 = prephitmp.12_36 ^ l_85_37;
goto <bb 9>;
and eliminate_degenerate_phis replaces it with the above through the
intermediate
<bb 9>:
# prephitmp.12_36 = PHI <g_67.1_6(9)>
g_67.1_6 = prephitmp.12_36;
goto <bb 9>;
I have a patch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44977