https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78413
Bug ID: 78413 Summary: [7 Regression] ICE in single_pred_edge, at basic-block.h:361 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: wschmidt at gcc dot gnu.org Target Milestone: --- markus@x4 /tmp % cat test.i extern long long int llrint(double x); int a; double b; __attribute__((cold)) void decode_init() { int c, d = 0; for (; d < 12; d++) { if (d) b = 0; c = 0; for (; c < 6; c++) a = b ? llrint(b) : 0; } } markus@x4 /tmp % gcc -O3 -ffast-math -c test.i test.i: In function ‘decode_init’: test.i:4:28: internal compiler error: in single_pred_edge, at basic-block.h:361 __attribute__((cold)) void decode_init() { ^~~~~~~~~~~ 0x5a4ea1 single_pred_edge ../../gcc/gcc/basic-block.h:361 0xbed2bf single_pred ../../gcc/gcc/basic-block.h:380 0xbed2bf versionable_outer_loop_p ../../gcc/gcc/tree-if-conv.c:2592 0xbed2bf tree_if_conversion(loop*) ../../gcc/gcc/tree-if-conv.c:2813 0xbed611 execute ../../gcc/gcc/tree-if-conv.c:2893