https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89316
Bug ID: 89316
Summary: ICE in gen_reg_rtx, at emit-rtl.c:1155
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Starting with gcc-8 and options -fsplit-stack -mforce-indirect-call;
affects several test cases, e.g. :
$ cat first-global.C
struct foo { foo (); };
foo foobar;
$ g++-9-20190210 -c first-global.C
$ g++-9-20190210 -c first-global.C -fsplit-stack
$
$ g++-9-20190210 -c first-global.C -fsplit-stack -mforce-indirect-call
during RTL pass: pro_and_epilogue
first-global.C: In function 'void
__static_initialization_and_destruction_0(int, int)':
first-global.C:2:11: internal compiler error: in gen_reg_rtx, at
emit-rtl.c:1155
2 | foo foobar;
| ^
0x8bdda5 gen_reg_rtx(machine_mode)
../../gcc/emit-rtl.c:1155
0x8d1ffe copy_to_mode_reg(machine_mode, rtx_def*)
../../gcc/explow.c:622
0xe825b4 ix86_expand_call(rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
bool)
../../gcc/config/i386/i386.c:28304
0xe831ba ix86_expand_split_stack_prologue()
../../gcc/config/i386/i386.c:14763
0x10bfa9a gen_split_stack_prologue()
../../gcc/config/i386/i386.md:13199
0xe4e548 target_gen_split_stack_prologue
../../gcc/config/i386/i386.md:12962
0x93a0c1 make_split_prologue_seq
../../gcc/function.c:5714
0x93a35a thread_prologue_and_epilogue_insns()
../../gcc/function.c:5850
0x93a952 rest_of_handle_thread_prologue_and_epilogue
../../gcc/function.c:6342
0x93a952 execute
../../gcc/function.c:6384