https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80463
Bug ID: 80463 Summary: [6/7 Regression] ICE with -fselective-scheduling2 and -fvar-tracking-assignments Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Starting from r227844, we ICE on: $ cat ice.ii int *a; int b, c; void d () { for (int e; c; e++) switch (e) { case 0: a[e] = 1; case 1: b = 2; break; default: a[e] = 3; } } $ g++ ice.ii -fselective-scheduling2 -O2 -c -fvar-tracking-assignments cc1plus: warning: var-tracking-assignments changes selective scheduling ice.ii: In function ‘void d()’: ice.ii:17:1: internal compiler error: in code_motion_process_successors, at sel-sched.c:6393 } ^ 0xdba2f2 code_motion_process_successors ../../gcc/sel-sched.c:6390 0xdba2f2 code_motion_path_driver ../../gcc/sel-sched.c:6613 0xdb9ec7 code_motion_process_successors ../../gcc/sel-sched.c:6347 0xdb9ec7 code_motion_path_driver ../../gcc/sel-sched.c:6613 0xdba7e6 move_op ../../gcc/sel-sched.c:6704 0xdba7e6 move_exprs_to_boundary ../../gcc/sel-sched.c:5227 0xdba7e6 schedule_expr_on_boundary ../../gcc/sel-sched.c:5440 0xdbe2bb fill_insns ../../gcc/sel-sched.c:5582 0xdbfdc4 schedule_on_fences ../../gcc/sel-sched.c:7356 0xdbfdc4 sel_sched_region_2 ../../gcc/sel-sched.c:7494 0xdc1544 sel_sched_region_1 ../../gcc/sel-sched.c:7536 0xdc1544 sel_sched_region(int) ../../gcc/sel-sched.c:7637 0xdc2981 run_selective_scheduling() ../../gcc/sel-sched.c:7713 0xd9b4c5 rest_of_handle_sched2 ../../gcc/sched-rgn.c:3722 0xd9b4c5 execute ../../gcc/sched-rgn.c:3866 The commit is probably not responsible for the ICE.