I'd replaced the uid initialisation with an insn_info initialisation, but it needed to be initialised at the point of insn_info test.
Tested against the testcase in the PR and applied as obvious. Richard gcc/ PR bootstrap/61516 * auto-inc-dec.c (merge_in_block): Fix location of insn_info initialization. Replace remaining use of uid. Index: gcc/auto-inc-dec.c =================================================================== --- gcc/auto-inc-dec.c 2014-06-16 08:37:09.767790766 +0100 +++ gcc/auto-inc-dec.c 2014-06-16 08:37:10.710805753 +0100 @@ -1341,7 +1341,6 @@ merge_in_block (int max_reg, basic_block FOR_BB_INSNS_REVERSE_SAFE (bb, insn, curr) { - df_insn_info *insn_info = DF_INSN_INFO_GET (insn); bool insn_is_add_or_inc = true; if (!NONDEBUG_INSN_P (insn)) @@ -1417,7 +1416,7 @@ merge_in_block (int max_reg, basic_block /* If the inc insn was merged with a mem, the inc insn is gone and there is noting to update. */ - if (insn_info) + if (df_insn_info *insn_info = DF_INSN_INFO_GET (insn)) { df_ref def, use; @@ -1439,7 +1438,8 @@ merge_in_block (int max_reg, basic_block } } else if (dump_file) - fprintf (dump_file, "skipping update of deleted insn %d\n", uid); + fprintf (dump_file, "skipping update of deleted insn %d\n", + INSN_UID (insn)); } /* If we were successful, try again. There may have been several