https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101594
Bug ID: 101594 Summary: ICE: Segmentation fault with "-O2 -fno-if-conversion -fno-ssa-phiopt -fno-tree-ch -fno-tree-dominator-opts -fno-tree-pre -fno-tree-reassoc -fselective-scheduling -fschedule-insns -fvar-tracking-assignments" Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: suochenyao at 163 dot com Target Milestone: --- ******************************************************************************* OS and Platform: CentOS Linux release 7.8.2003 (Core), x86_64 GNU/Linux ******************************************************************************* Program: long a; int b, c; char *d; char(e)(f) { return f; } void g() { char h; for (; a;) { h = e(c || b); *d = h; } } int main() {} ******************************************************************************* gcc version: $ gcc -v Using built-in specs. COLLECT_GCC=/data/bin/gcc-dev/bin/gcc COLLECT_LTO_WRAPPER=/data/bin/gcc-dev/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/data/bin/gcc-dev --disable-multilib --enable-languages=c,c++ Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210722 (experimental) (GCC) git version 4048d8a08621820dd6cc6035e13de3c3c82af4a5 ******************************************************************************* $ gcc -O2 -fno-if-conversion -fno-ssa-phiopt -fno-tree-ch -fno-tree-dominator-opts -fno-tree-pre -fno-tree-reassoc -fselective-scheduling -fschedule-insns -fvar-tracking-assignments a.c cc1: warning: var-tracking-assignments changes selective scheduling a.c: In function ‘e’: a.c:4:6: warning: type of ‘f’ defaults to ‘int’ [-Wimplicit-int] 4 | char(e)(f) { return f; } | ^ during RTL pass: sched1 a.c: In function ‘g’: a.c:11:1: internal compiler error: Segmentation fault 11 | } | ^ 0xe4483f crash_signal ../../gcc/toplev.c:328 0xe0369a moving_insn_creates_bookkeeping_block_p ../../gcc/sel-sched.c:2031 0xe0369a moveup_expr ../../gcc/sel-sched.c:2199 0xe0369a moveup_expr_cached ../../gcc/sel-sched.c:2544 0xe0649e move_op_ascend ../../gcc/sel-sched.c:6149 0xe0865f code_motion_path_driver ../../gcc/sel-sched.c:6648 0xe08cf3 code_motion_process_successors ../../gcc/sel-sched.c:6342 0xe08cf3 code_motion_path_driver ../../gcc/sel-sched.c:6608 0xe08cf3 code_motion_process_successors ../../gcc/sel-sched.c:6342 0xe08cf3 code_motion_path_driver ../../gcc/sel-sched.c:6608 0xe09219 move_op ../../gcc/sel-sched.c:6702 0xe09219 move_exprs_to_boundary ../../gcc/sel-sched.c:5223 0xe09219 schedule_expr_on_boundary ../../gcc/sel-sched.c:5436 0xe0c756 fill_insns ../../gcc/sel-sched.c:5578 0xe0c756 schedule_on_fences ../../gcc/sel-sched.c:7353 0xe0c756 sel_sched_region_2 ../../gcc/sel-sched.c:7491 0xe0e248 sel_sched_region_1 ../../gcc/sel-sched.c:7533 0xe0f85b sel_sched_region(int) ../../gcc/sel-sched.c:7634 0xe0f85b sel_sched_region(int) ../../gcc/sel-sched.c:7619 0xe0fa09 run_selective_scheduling() ../../gcc/sel-sched.c:7720 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.