[Bug debug/56950] New: compare-debug failure for gcc.dg/pr41345.c with fschedule-insns

steven at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Apr 13 23:14:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56950

             Bug #: 56950
           Summary: compare-debug failure for gcc.dg/pr41345.c with
                    fschedule-insns
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: steven@gcc.gnu.org


$ cat pr41345.c 
/* PR bootstrap/41345 */
/* { dg-do compile } */
/* { dg-options "-O2 -g -fcompare-debug" } */
/* { dg-xfail-if "" { powerpc-ibm-aix* } { "*" } { "" } } */

void
foo (int *x)
{
  int a;
  for (a = 0; a < 2; a++)
    if (x[a])
      goto lab;
  __builtin_unreachable ();
lab:;
}

$ ./xgcc -B. -S -O2 -g -fcompare-debug pr41345.c -fschedule-insns
xgcc: error: pr41345.c: -fcompare-debug failure (length)
$

The problem appears to be an extra NOTE_INSN_DELETED, inserted in
the sched1 pass:

@@ -42,8 +54,11 @@
 ;;  exit block uses     6 [bp] 7 [sp] 20 [frame]
 ;;  regs ever live
 ;;  ref usage  r0={1d} r1={1d} r2={1d} r4={1d} r5={1d} r6={1d,2u} r7={1d,2u}
r16={1d,1u} r20={1d,2u} r21={1d} r22={1d} r23={1d} r24={1d} r25={1d} r26={1d}
r27={1d} r28={1d} r37={1d} r38={1d}
-;;    total ref usage 26{19d,7u,0e} in 0{0 regular + 0 call} insns.
+;;    total ref usage 26{19d,7u,0e} in 1{1 regular + 0 call} insns.
 (note 1 0 4 NOTE_INSN_DELETED)
 (note 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
-(note 3 4 10 2 NOTE_INSN_FUNCTION_BEG)
-(note 10 3 0 ("lab") NOTE_INSN_DELETED_LABEL 2)
+(note 3 4 7 2 NOTE_INSN_FUNCTION_BEG)
+(debug_insn 7 3 18 2 (var_location:SI a (const_int 0 [0])) -1
+     (nil))
+(note 18 7 14 NOTE_INSN_DELETED)
+(note 14 18 0 ("lab") NOTE_INSN_DELETED_LABEL 2)

The note 18 comes from haifa-sched.c:sched_extend_bb.



More information about the Gcc-bugs mailing list