http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50295
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aoliva at gcc dot gnu.org, | |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-09-06 08:15:21 UTC --- We have: <bb 4>: # DEBUG this => this_2(D) reason_15 = reason_10(D); reason_17 = reason_15; # DEBUG reason => reason_17 D.137092_16 = &this_2(D)->D.122214; mozilla::net::PWyciwygChannelChild::Send__delete__ (D.137092_16); D.132395_6 = 0; and ccp (substitute_and_fold called from ccp_finalize) decides (because has_zero_uses is true for reason_17) to remove reason_17 = reason_15; stmt first, which during gsi_remove adds a # DEBUG D#xxx => reason_15 stmt. Then reason_15 = reason_10(D); is being removed, but for some reason the newly added debug stmt isn't found during FOR_EACH_IMM_USE_FAST for reason_15.