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

Reply via email to