https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61188
Bug ID: 61188 Summary: [4.10 regression] Many -fcompare-debug failures Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: rdsandiford at googlemail dot com Host: sparc-sun-solaris2.11 Target: sparc-sun-solaris2.11 Build: sparc-sun-solaris2.11 Between 20140509 (r210264) and 20140513 (r210366) there occured many new testsuite failures on Solaris 11/SPARC (both with as and gas), all of them -fcompare-debug failures, it seems, e.g. FAIL: gcc.dg/autopar/pr46066.c (test for excess errors) % /var/gcc/regression/trunk/11-gcc/build/gcc/xgcc -B/var/gcc/regression/trunk/11-gcc/build/gcc/ /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/autopar/pr46066.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcompare-debug -O -ftree-parallelize-loops=4 -S -o pr46066.s xgcc: error: /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/autopar/pr46066.c: -fcompare-debug failure (length) The .gkd differences look like this: --- pr46066.gkd 2014-05-14 14:56:34.164811700 +0200 +++ pr46066.gk.gkd 2014-05-14 14:56:34.320700300 +0200 @@ -31,7 +31,7 @@ (const_int 0 [0]))) /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.d g/autopar/pr46066.c:10# {*cmpsi_insn} (nil)) (insn 0 0 0 (sequence [ - (jump_insn 33 # # (set (pc) + (jump_insn 35 # # (set (pc) (if_then_else (le (reg:CC 100 %icc) (const_int 0 [0])) (label_ref:SI #) @@ -39,7 +39,7 @@ (expr_list:REG_DEAD (reg:CC 100 %icc) (int_list:REG_BR_PROB 900 (nil))) -> 17) - (insn 38 # # (set (reg:SI 1 %g1 [156]) + (insn 40 # # (set (reg:SI 1 %g1 [156]) (const_int 15360 [0x3c00]))# {*movsi_insn} (expr_list:REG_EQUIV (const_int 15360 [0x3c00]) (nil))) I'm attaching the full files. I suspect that this is related to 2014-05-13 Richard Sandiford <rdsandif...@googlemail.com> * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA) (BARRIER, CODE_LABEL, NOTE): Remove first "i" field. * rtl.h (rtx_def): Add insn_uid to u2 field. (RTX_FLAG_CHECK8): Delete in favor of... (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro. (INSN_DELETED_P): Update accordingly. (INSN_UID): Use u2.insn_uid. (INSN_CHAIN_CODE_P): Define. (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION) (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER) (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER) (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER) (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower indices accordingly. * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop. Update indices for insn-chain rtxes. * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes. (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes. * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call. * caller-save.c (init_caller_save): Update gen_rtx_INSN calls. * combine.c (try_combine): Likewise. * ira.c (setup_prohibited_mode_move_regs): Likewise. Rainer