------- Comment #5 from hp at gcc dot gnu dot org 2008-01-31 05:08 ------- The bug is that fwprop1 adds a REG_EQUAL note to an insn with a REG_RETVAL, confusing delete_trivially_dead_insns into thinking that the REG_EQUAL note refers to the while libcall and that a simplification thereof can make the libcall-equivalence sequence redundant. The combination is described that way in optabs.c:emit_no_conflict_block, so the assumption appears valid. Testing a patch that teaches try_fwprop_subst about this special case. Places in gcse.c look suspicious too, perhaps also elsewhere.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34773