[Bug tree-optimization/85168] New: ICE in tree-ssa-coalesce.c: SSA corruption: Unable to coalesce ssa_names which are marked as MUST COALESCE when -O2 is used
ivo.raisr at oracle dot com
gcc-bugzilla@gcc.gnu.org
Tue Apr 3 08:55:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85168
Bug ID: 85168
Summary: ICE in tree-ssa-coalesce.c: SSA corruption: Unable to
coalesce ssa_names which are marked as MUST COALESCE
when -O2 is used
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ivo.raisr at oracle dot com
Target Milestone: ---
Created attachment 43815
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43815&action=edit
reproducer.c
With gcc 8.0.1 built recently from SVN, I receive internal compiler error: SSA
corruption when -O2 is used:
void g(void) {
^
0xdcec2e fail_abnormal_edge_coalesce
../../src/gcc/tree-ssa-coalesce.c:1012
0xdcec2e coalesce_partitions
../../src/gcc/tree-ssa-coalesce.c:1401
0xdcec2e coalesce_ssa_name()
../../src/gcc/tree-ssa-coalesce.c:1888
0xd6450e remove_ssa_form
../../src/gcc/tree-outof-ssa.c:948
0xd6450e rewrite_out_of_ssa(ssaexpand*)
../../src/gcc/tree-outof-ssa.c:1174
0x8b2820 execute
../../src/gcc/cfgexpand.c:6227
The full source module is not publicly available. I have creduce'd it to the
following minimal form:
----------------------------------------
typedef struct {
struct {
char a;
} b;
} c;
int d, f;
c *e;
extern void i(void);
void g(void) {
c *h = e;
if (f) {
i();
h--;
if (d)
if (h->b.a)
i();
}
if (h->b.a)
__builtin_setjmp(0);
e = h;
}
----------------------------------------
The problem is reproducible with:
$ gcc -fdump-rtl-expand-details -O2 -c <reproducer.c>
but not with:
$ gcc -fdump-rtl-expand-details -O1 -c <reproducer.c>
More information about the Gcc-bugs
mailing list