Commit b6156cf2 by Martin Jambor Committed by Martin Jambor

ipa-utils.c (searchc_env): New field allow_overwritable.

2011-06-01  Martin Jambor  <mjambor@suse.cz>

	* ipa-utils.c (searchc_env): New field allow_overwritable.
	(searchc): do not ignore edges to overwritable nodes if indicated
	by env->allow_overwritable.
	(ipa_reduced_postorder): Set env.allow_overwritable.

From-SVN: r174523
parent 6c059f76
2011-06-01 Martin Jambor <mjambor@suse.cz>
* ipa-utils.c (searchc_env): New field allow_overwritable.
(searchc): do not ignore edges to overwritable nodes if indicated
by env->allow_overwritable.
(ipa_reduced_postorder): Set env.allow_overwritable.
2011-06-01 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data): Do not reset boolean_type_node nor
......
......@@ -67,6 +67,7 @@ struct searchc_env {
int order_pos;
splay_tree nodes_marked_new;
bool reduce;
bool allow_overwritable;
int count;
};
......@@ -101,11 +102,14 @@ searchc (struct searchc_env* env, struct cgraph_node *v,
{
struct ipa_dfs_info * w_info;
struct cgraph_node *w = edge->callee;
enum availability avail = cgraph_function_body_availability (w);
if (ignore_edge && ignore_edge (edge))
continue;
if (w->aux && cgraph_function_body_availability (edge->callee) > AVAIL_OVERWRITABLE)
if (w->aux
&& (avail > AVAIL_OVERWRITABLE
|| (env->allow_overwritable && avail == AVAIL_OVERWRITABLE)))
{
w_info = (struct ipa_dfs_info *) w->aux;
if (w_info->new_node)
......@@ -171,6 +175,7 @@ ipa_reduced_postorder (struct cgraph_node **order,
env.nodes_marked_new = splay_tree_new (splay_tree_compare_ints, 0, 0);
env.count = 1;
env.reduce = reduce;
env.allow_overwritable = allow_overwritable;
for (node = cgraph_nodes; node; node = node->next)
{
......
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