https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80436

            Bug ID: 80436
           Summary: [7 Regression] -fcompare-debug failure
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

markus@x4 tmp % cat df-problems.ii
void fn1(...);
void fn2(int, int, int);
struct {
  int elt1;
  int bits;
} * a;
int b, d;
int fn3(unsigned *p1) {
  if (0)
  next_bit:
    return 1;
  while (1) {
    if (b)
      if (a->bits)
        goto next_bit;
    *p1 = b;
    if (a->elt1)
      return 0;
    a = 0;
  }
}
enum {} * c;
void fn4() {
  int e, m(d);
  for (; e < m; e++) {
    if (e < 0)
      fn2(0, 0, c[e]);
    unsigned f;
    for (; fn3(&f);)
      fn1(f);
  }
}


markus@x4 tmp % g++ --save-temps -fcompare-debug -c -O3 df-problems.ii
g++: error: df-problems.ii: -fcompare-debug failure

markus@x4 tmp % diff -u df-problems.gkd df-problems.gk.gkd
--- df-problems.gkd     2017-04-15 08:35:08.338387771 +0200
+++ df-problems.gk.gkd  2017-04-15 08:35:08.388386688 +0200
@@ -236,7 +236,7 @@
 (code_label # 0 0 4 36 (nil) [2 uses])
 (note # 0 0 [bb 4] NOTE_INSN_BASIC_BLOCK)
 (insn:TI # 0 0 4 (parallel [
-            (set (reg:DI 1 dx [orig:118 a_lsm.16 ] [118])
+            (set (reg:DI 1 dx [orig:117 a_lsm.16 ] [117])
                 (const_int 0 [0]))
             (clobber (reg:CC 17 flags))
         ]) "df-problems.ii":16# {*movdi_xor}
@@ -246,7 +246,7 @@
         (compare:CCZ (reg:SI 2 cx [orig:126 b.0_59 ] [126])
             (const_int 0 [0])))# {*cmpsi_ccno_1}
      (nil))
-(insn # 0 0 4 (set (reg/f:DI 0 ax [orig:113 a_lsm.15 ] [113])
+(insn # 0 0 4 (set (reg/f:DI 0 ax [orig:112 a_lsm.15 ] [112])
         (mem/f/c:DI (symbol_ref:DI ("a") [flags 0x2]  <var_decl # a>) [ a+0 S8
A64]))# {*movdi_internal}
      (nil))
 (jump_insn:TI # 0 0 4 (set (pc)
@@ -265,12 +265,12 @@
 (barrier # 0 0)
 (code_label # 0 0 6 60 (nil) [1 uses])
 (note # 0 0 [bb 6] NOTE_INSN_BASIC_BLOCK)
-(insn:TI # 0 0 6 (set (reg:QI 1 dx [orig:118 a_lsm.16 ] [118])
+(insn:TI # 0 0 6 (set (reg:QI 1 dx [orig:117 a_lsm.16 ] [117])
         (const_int 1 [0x1])) "df-problems.ii":17# {*movqi_internal}
      (expr_list:REG_EQUAL (const_int 1 [0x1])
         (nil)))
 (insn # 0 0 6 (parallel [
-            (set (reg/f:DI 0 ax [orig:113 a_lsm.15 ] [113])
+            (set (reg/f:DI 0 ax [orig:112 a_lsm.15 ] [112])
                 (const_int 0 [0]))
             (clobber (reg:CC 17 flags))
         ]) "df-problems.ii":19# {*movdi_xor}
@@ -279,7 +279,7 @@
 (code_label # 0 0 7 33 (nil) [1 uses])
 (note # 0 0 [bb 7] NOTE_INSN_BASIC_BLOCK)
 (insn:TI # 0 0 7 (set (reg:SI 37 r8)
-        (mem:SI (reg/f:DI 0 ax [orig:113 a_lsm.15 ] [113]) [
a_lsm.15_80->elt1+0 S4 A32])) "df-problems.ii":17# {*movsi_internal}
+        (mem:SI (reg/f:DI 0 ax [orig:112 a_lsm.15 ] [112]) [
a_lsm.15_80->elt1+0 S4 A32])) "df-problems.ii":17# {*movsi_internal}
      (nil))
 (insn:TI # 0 0 7 (set (reg:CCZ 17 flags)
         (compare:CCZ (reg:SI 37 r8)
...

Reply via email to