Commit bee0b10c by Richard Biener Committed by Richard Biener

re PR tree-optimization/57349 (ICE on 253.perlbmk with pgo after r198096)

2013-05-22  Richard Biener  <rguenther@suse.de>

	PR middle-end/57349
	* profile.c (branch_prob): Do not split blocks that are
	abnormally receiving from ECF_RETURNS_TWICE functions.

From-SVN: r199193
parent bf7a73f9
2013-05-22 Richard Biener <rguenther@suse.de>
PR middle-end/57349
* profile.c (branch_prob): Do not split blocks that are
abnormally receiving from ECF_RETURNS_TWICE functions.
2013-05-22 Richard Sandiford <rsandifo@linux.vnet.ibm.com> 2013-05-22 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
* recog.c (offsettable_address_addr_space_p): Fix calculation of * recog.c (offsettable_address_addr_space_p): Fix calculation of
......
...@@ -1085,13 +1085,16 @@ branch_prob (void) ...@@ -1085,13 +1085,16 @@ branch_prob (void)
or __builtin_setjmp_dispatcher calls. These are very or __builtin_setjmp_dispatcher calls. These are very
special and don't expect anything to be inserted before special and don't expect anything to be inserted before
them. */ them. */
if (!is_gimple_call (first) if (is_gimple_call (first)
|| (fndecl = gimple_call_fndecl (first)) == NULL && (((fndecl = gimple_call_fndecl (first)) != NULL
|| DECL_BUILT_IN_CLASS (fndecl) != BUILT_IN_NORMAL && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL
|| (DECL_FUNCTION_CODE (fndecl) != BUILT_IN_SETJMP_RECEIVER
&& (DECL_FUNCTION_CODE (fndecl) && (DECL_FUNCTION_CODE (fndecl)
!= BUILT_IN_SETJMP_DISPATCHER))) == BUILT_IN_SETJMP_RECEIVER
{ || (DECL_FUNCTION_CODE (fndecl)
== BUILT_IN_SETJMP_DISPATCHER)))
|| gimple_call_flags (first) & ECF_RETURNS_TWICE))
continue;
if (dump_file) if (dump_file)
fprintf (dump_file, "Splitting bb %i after labels\n", fprintf (dump_file, "Splitting bb %i after labels\n",
bb->index); bb->index);
...@@ -1099,7 +1102,6 @@ branch_prob (void) ...@@ -1099,7 +1102,6 @@ branch_prob (void)
} }
} }
} }
}
el = create_edge_list (); el = create_edge_list ();
num_edges = NUM_EDGES (el); num_edges = NUM_EDGES (el);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment