https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79499
--- Comment #1 from Gerhard Steinmetz <gerhard.steinmetz.fort...@t-online.de> --- Original files from ./gcc/testsuite/gcc.dg/torture. Oh, and gcc-5 (configured with --enable-checking=yes) also gives that ICE for pr57478.c (but not for pr78542.c). Whereas with release versions 5/6/7 (--enable-checking=release) : $ cat z1.c # slightly reduced/modified pr57478.c typedef struct Node Node; struct Node { Node *Suc, *SubBestSuc; }; void foo (Node *N) { do { N->SubBestSuc = N->Suc; } while (N = N->Suc); } $ gcc-7-20170212-rel -O2 -fsplit-stack -fno-omit-frame-pointer -c z1.c z1.c: In function 'foo': z1.c:14:1: internal compiler error: in maybe_add_or_update_dep_1, at sched-deps.c:924 } ^ 0x10cab94 maybe_add_or_update_dep_1 ../../gcc/sched-deps.c:924 0x10cacf9 haifa_note_dep ../../gcc/sched-deps.c:1866 0x10c2fc2 note_dep ../../gcc/sched-deps.c:1901 0x10c2fc2 add_dependence_1 ../../gcc/sched-deps.c:4285 0x10c5163 add_dependence(rtx_insn*, rtx_insn*, reg_note) ../../gcc/sched-deps.c:1553 0xa35b9e add_branch_dependences ../../gcc/sched-rgn.c:2507 0xa35b9e compute_block_dependences ../../gcc/sched-rgn.c:2725 0xa35b9e sched_rgn_compute_dependencies(int) ../../gcc/sched-rgn.c:3347 0xa37a7b schedule_region ../../gcc/sched-rgn.c:3103 0xa37a7b schedule_insns() ../../gcc/sched-rgn.c:3506 0xa3807d schedule_insns() ../../gcc/sched-rgn.c:3491 0xa3807d rest_of_handle_sched2 ../../gcc/sched-rgn.c:3730 0xa3807d execute ../../gcc/sched-rgn.c:3866 $ gcc-7-20170212-rel -Os -fsplit-stack -fno-omit-frame-pointer -c z1.c z1.c: In function 'foo': z1.c:14:1: internal compiler error: in schedule_block, at haifa-sched.c:6681 } ^ 0x105edd1 schedule_block(basic_block_def**, void*) ../../gcc/haifa-sched.c:6681 0xa37d3a schedule_region ../../gcc/sched-rgn.c:3169 0xa37d3a schedule_insns() ../../gcc/sched-rgn.c:3506 0xa3807d schedule_insns() ../../gcc/sched-rgn.c:3491 0xa3807d rest_of_handle_sched2 ../../gcc/sched-rgn.c:3730 0xa3807d execute ../../gcc/sched-rgn.c:3866