re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)

2015-03-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/44563
	* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
	for redirect_all_calls.

From-SVN: r221321
This commit is contained in:
Richard Biener 2015-03-10 12:44:01 +00:00 committed by Richard Biener
parent 2e1a9cdb64
commit c692785982
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
for redirect_all_calls.
2015-03-10 Marek Polacek <polacek@redhat.com>
* gdbinit.in (pcfun): Define and document.

View file

@ -2805,7 +2805,9 @@ copy_cfg_body (copy_body_data * id, gcov_type count, int frequency_scale,
maybe_move_debug_stmts_to_successors (id, (basic_block) bb->aux);
/* Update call edge destinations. This can not be done before loop
info is updated, because we may split basic blocks. */
if (id->transform_call_graph_edges == CB_CGE_DUPLICATE)
if (id->transform_call_graph_edges == CB_CGE_DUPLICATE
&& bb->index != ENTRY_BLOCK
&& bb->index != EXIT_BLOCK)
redirect_all_calls (id, (basic_block)bb->aux);
((basic_block)bb->aux)->aux = NULL;
bb->aux = NULL;