tree-pass.h (tree_lowering_passes): Remove.

2012-04-10  Richard Guenther  <rguenther@suse.de>

	* tree-pass.h (tree_lowering_passes): Remove.
	* tree-optimize.c (tree_lowering_passes): Remove.
	* cgraph.c (cgraph_add_new_function): Inline relevant parts
	of tree_lowering_passes, avoid redundant call of early local
	passes.
	* cgraphunit.c (cgraph_lower_function): Fold into ...
	(cgraph_analyze_function): ... its single caller.  Inline
	relevant parts of tree_lowering_passes.

From-SVN: r186268
This commit is contained in:
Richard Guenther 2012-04-10 08:19:21 +00:00 committed by Richard Biener
parent bcc2b4cdc2
commit 26eb69c619
5 changed files with 30 additions and 40 deletions

View file

@ -1,3 +1,14 @@
2012-04-10 Richard Guenther <rguenther@suse.de>
* tree-pass.h (tree_lowering_passes): Remove.
* tree-optimize.c (tree_lowering_passes): Remove.
* cgraph.c (cgraph_add_new_function): Inline relevant parts
of tree_lowering_passes, avoid redundant call of early local
passes.
* cgraphunit.c (cgraph_lower_function): Fold into ...
(cgraph_analyze_function): ... its single caller. Inline
relevant parts of tree_lowering_passes.
2012-04-09 H.J. Lu <hongjiu.lu@intel.com>
PR other/52777

View file

@ -2437,10 +2437,9 @@ cgraph_add_new_function (tree fndecl, bool lowered)
push_cfun (DECL_STRUCT_FUNCTION (fndecl));
current_function_decl = fndecl;
gimple_register_cfg_hooks ();
tree_lowering_passes (fndecl);
bitmap_obstack_initialize (NULL);
if (!gimple_in_ssa_p (DECL_STRUCT_FUNCTION (fndecl)))
execute_pass_list (pass_early_local_passes.pass.sub);
execute_pass_list (all_lowering_passes);
execute_pass_list (pass_early_local_passes.pass.sub);
bitmap_obstack_release (NULL);
pop_cfun ();
current_function_decl = NULL;

View file

@ -313,20 +313,6 @@ cgraph_reset_node (struct cgraph_node *node)
cgraph_node_remove_callees (node);
}
static void
cgraph_lower_function (struct cgraph_node *node)
{
if (node->lowered)
return;
if (node->nested)
lower_nested_functions (node->decl);
gcc_assert (!node->nested);
tree_lowering_passes (node->decl);
node->lowered = true;
}
/* DECL has been parsed. Take it, queue it, compile it at the whim of the
logic in effect. If NESTED is true, then our caller cannot stand to have
the garbage collector run at the moment. We would need to either create
@ -915,7 +901,23 @@ cgraph_analyze_function (struct cgraph_node *node)
gimplify_function_tree (decl);
dump_function (TDI_generic, decl);
cgraph_lower_function (node);
/* Lower the function. */
if (!node->lowered)
{
if (node->nested)
lower_nested_functions (node->decl);
gcc_assert (!node->nested);
gimple_register_cfg_hooks ();
bitmap_obstack_initialize (NULL);
execute_pass_list (all_lowering_passes);
free_dominance_info (CDI_POST_DOMINATORS);
free_dominance_info (CDI_DOMINATORS);
compact_blocks ();
bitmap_obstack_release (NULL);
node->lowered = true;
}
pop_cfun ();
}
node->analyzed = true;

View file

@ -366,26 +366,6 @@ struct gimple_opt_pass pass_init_datastructures =
0 /* todo_flags_finish */
}
};
void
tree_lowering_passes (tree fn)
{
tree saved_current_function_decl = current_function_decl;
current_function_decl = fn;
push_cfun (DECL_STRUCT_FUNCTION (fn));
gimple_register_cfg_hooks ();
bitmap_obstack_initialize (NULL);
execute_pass_list (all_lowering_passes);
if (optimize && cgraph_global_info_ready)
execute_pass_list (pass_early_local_passes.pass.sub);
free_dominance_info (CDI_POST_DOMINATORS);
free_dominance_info (CDI_DOMINATORS);
compact_blocks ();
current_function_decl = saved_current_function_decl;
bitmap_obstack_release (NULL);
pop_cfun ();
}
/* For functions-as-trees languages, this performs all optimization and
compilation for FNDECL. */

View file

@ -349,8 +349,6 @@ struct register_pass_info
enum pass_positioning_ops pos_op; /* how to insert the new pass. */
};
extern void tree_lowering_passes (tree decl);
extern struct gimple_opt_pass pass_mudflap_1;
extern struct gimple_opt_pass pass_mudflap_2;
extern struct gimple_opt_pass pass_lower_cf;