https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81766
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Sadly: --- gcc/config/i386/i386.c.jj 2017-08-07 18:50:10.000000000 +0200 +++ gcc/config/i386/i386.c 2017-08-08 14:33:06.462836529 +0200 @@ -8846,6 +8846,10 @@ ix86_init_large_pic_reg (unsigned int tm emit_insn (gen_set_got_offset_rex64 (tmp_reg, label)); emit_insn (ix86_gen_add3 (pic_offset_table_rtx, pic_offset_table_rtx, tmp_reg)); + const char *name = LABEL_NAME (label); + PUT_CODE (label, NOTE); + NOTE_KIND (label) = NOTE_INSN_DELETED_LABEL; + NOTE_DELETED_LABEL_NAME (label) = name; } /* Create and initialize PIC register if required. */ doesn't work, because cselib is unhappy to see NOTE_INSN_DELETED_LABEL referenced in an insn.