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)
...