https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90071
Bug ID: 90071 Summary: internal compiler error: SSA corruption Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gsocshubham at gmail dot com CC: mliska at suse dot cz Target Milestone: --- Host: x86_64-linux-gnu Target: x86_64-linux-gnu Build: x86_64-linux-gnu Created attachment 46154 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46154&action=edit Preprocessed code of program causing ICE "crash1.c" -----------------------COMPILER CONFIGURATION--------------------------------- Using built-in specs. COLLECT_GCC=./xgcc Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --enable-languages=c,c++ --enable-lto --disable-bootstrap : (reconfigured) ../gcc/configure --enable-languages=c,c++ --enable-lto --disable-bootstrap Thread model: posix gcc version 9.0.1 20190412 (experimental) (GCC) -----------------COMMAND LINE USED FOR COMPILATION------------------------- ~/pull-gcc-9-trunk/build/gcc/xgcc -B ~/pull-gcc-9-trunk/build/gcc/ -I../../runtime/ crash1.c -w -O1 Unable to coalesce ssa_names 571 and 568 which are marked as MUST COALESCE. p_61_571(ab) and p_61_568(ab) during RTL pass: expand crash1.c: In function ‘func_59’: crash1.c:1696:20: internal compiler error: SSA corruption 1696 | static struct S0 * func_59(uint16_t p_60, uint32_t p_61, uint16_t p_62) | ^~~~~~~ 0xdc07c1 fail_abnormal_edge_coalesce ../../gcc/gcc/tree-ssa-coalesce.c:1002 0xdc07c1 coalesce_partitions ../../gcc/gcc/tree-ssa-coalesce.c:1424 0xdc07c1 coalesce_ssa_name(_var_map*) ../../gcc/gcc/tree-ssa-coalesce.c:1755 0xd585ab remove_ssa_form ../../gcc/gcc/tree-outof-ssa.c:1029 0xd585ab rewrite_out_of_ssa(ssaexpand*) ../../gcc/gcc/tree-outof-ssa.c:1287 0x7f8700 execute ../../gcc/gcc/cfgexpand.c:6314 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. ------------------------REDUCED CODE---------------------------------------- a; static b; c() { int d, e = &&f; void *g = &&h; h: ++e; if (a) i: goto *g; for (;;) { e = 0; if (b) goto i; } f: goto *({ d || e < 0 || e >= 2; }); &e; }