https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80453
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- (In reply to Markus Trippelsdorf from comment #3) > > It was "fixed" by r246965, which doesn't make much sense. On the other hand r246965 "causes" a new heisenbug on ppc64le: % /home/trippels/gcc_test/usr/local/bin/g++ --save-temps -fcompare-debug -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -Wno-implicit-fallthrough -O3 -pipe -UNDEBUG -fno-exceptions -fno-rtti -c BasicBlockUtils.ii -w g++: warning: -pipe ignored because -save-temps specified g++: error: BasicBlockUtils.ii: -fcompare-debug failure (length) --- BasicBlockUtils.gkd 2017-04-19 14:19:18.678115265 +0000 +++ BasicBlockUtils.gk.gkd 2017-04-19 14:19:29.648375254 +0000 @@ -35537,7 +35537,7 @@ (insn:TI # 0 0 (set (reg:DI 5 5) (const_int 1 [0x1])) "BasicBlockUtils.ii":61700# {*movdi_internal64} (nil)) -(insn # 0 0 (set (reg/f:DI 31 31 [orig:174 _36 ] [174]) +(insn # 0 0 (set (reg/f:DI 31 31 [orig:177 _36 ] [177]) (reg:DI 3 3)) "BasicBlockUtils.ii":46281# {*movdi_internal64} (expr_list:REG_DEAD (reg:DI 3 3) (nil))) @@ -35547,7 +35547,7 @@ (const_int 32 [0x20])) (nil))) (insn # 0 0 (set (reg:DI 4 4) - (reg/f:DI 31 31 [orig:174 _36 ] [174])) "BasicBlockUtils.ii":61700# {*movdi_internal64} + (reg/f:DI 31 31 [orig:177 _36 ] [177])) "BasicBlockUtils.ii":61700# {*movdi_internal64} (nil)) (call_insn # 0 0 (parallel [ (call (mem:SI (symbol_ref/i:DI ("_ZN4llvm14TerminatorInst12SuccIteratorIPS0_NS_10BasicBlockEEC1ES2_b") [flags 0x3] <function_decl # __comp_ctor >) [ __comp_ctor S4 A8]) @@ -35566,21 +35566,21 @@ (expr_list:DI (use (reg:DI 4 4)) (expr_list:QI (use (reg:DI 5 5)) (nil)))))) -(insn # 0 0 (set (reg/f:DI 9 9 [orig:602 SR.2614 ] [602]) +(insn # 0 0 (set (reg/f:DI 9 9 [orig:175 SR.2614 ] [175]) (mem/f/c:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) [ MEM[(struct SuccIterator *)&D.xxxx]+0 S8 A128])) "BasicBlockUtils.ii":61700# {*movdi_internal64} (expr_list:REG_EQUIV (mem/f/c:DI (plus:DI (reg/f:DI 113 sfp) (const_int 32 [0x20])) [ MEM[(struct SuccIterator *)&D.xxxx]+0 S8 A128]) (nil))) -(insn:TI # 0 0 (set (reg/v:DI 26 26 [orig:387 SR.2615 ] [387]) +(insn:TI # 0 0 (set (reg/v:DI 26 26 [orig:173 SR.2615 ] [173]) (zero_extend:DI (mem/c:SI (plus:DI (reg/f:DI 1 1) (const_int 40 [0x28])) [ MEM[(struct SuccIterator *)&D.xxxx + 8B]+0 S4 A64]))) "BasicBlockUtils.ii":61700# {zero_extendsidi2} (nil)) (insn # 0 0 (set (reg:CCUNS 75 7 [642]) - (compare:CCUNS (reg/f:DI 31 31 [orig:174 _36 ] [174]) - (reg/f:DI 9 9 [orig:602 SR.2614 ] [602]))) "BasicBlockUtils.ii":60645# {*cmpdi_unsigned} - (expr_list:REG_DEAD (reg/f:DI 31 31 [orig:174 _36 ] [174]) - (expr_list:REG_DEAD (reg/f:DI 9 9 [orig:602 SR.2614 ] [602]) + (compare:CCUNS (reg/f:DI 9 9 [orig:175 SR.2614 ] [175]) + (reg/f:DI 31 31 [orig:177 _36 ] [177]))) "BasicBlockUtils.ii":60645# {*cmpdi_unsigned} + (expr_list:REG_DEAD (reg/f:DI 31 31 [orig:177 _36 ] [177]) + (expr_list:REG_DEAD (reg/f:DI 9 9 [orig:175 SR.2614 ] [175]) (nil)))) (jump_insn # 0 0 (set (pc) (if_then_else (ne (reg:CCUNS 75 7 [642])