[Bug rtl-optimization/49474] [4.7 Regression] ppc ICEs with -O3 (bootstrapping with -O3 and --disable-checking)
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 11 22:28:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49474
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.07.11 22:28:28
Summary|[4.7 Regression] ppc ICEs |[4.7 Regression] ppc ICEs
|with -O3 (bootstrapping |with -O3 (bootstrapping
|with -O3) |with -O3 and
| |--disable-checking)
Ever Confirmed|0 |1
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-07-11 22:28:28 UTC ---
reduced testcase:
typedef struct gfc_formal_arglist
{
int next;
}
gfc_actual_arglist;
update_arglist_pass (gfc_actual_arglist* lst, int po, unsigned argpos,
const char *name)
{
((void)(__builtin_expect(!(argpos > 0), 0) ? __builtin_unreachable(), 0 :
0));
if (argpos == 1)
return 0;
if (lst)
lst->next = update_arglist_pass (lst->next, po, argpos - 1, name);
else
lst = update_arglist_pass (((void *)0), po, argpos - 1, name);
}
--- CUT ---
Simple fix:
Index: cprop.c
===================================================================
--- cprop.c (revision 176186)
+++ cprop.c (working copy)
@@ -1332,7 +1332,7 @@ find_implicit_sets (void)
FOR_EACH_BB (bb)
{
/* Check for more than one successor. */
- if (! EDGE_COUNT (bb->succs) > 1)
+ if (EDGE_COUNT (bb->succs) <= 1)
continue;
cond = fis_get_condition (BB_END (bb));
More information about the Gcc-bugs
mailing list