summaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-17 00:24:26 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-16 22:24:26 +0000
commitccbbf8a2db7c501bc3ad176b741f4de4e1c9642a (patch)
tree4771f6f7459bb79d821387c1cdb37bd5ee699b11 /gcc/ipa-cp.c
parent91fbf0c7c60930152acf7ec888ffa08383a20453 (diff)
downloadgcc-ccbbf8a2db7c501bc3ad176b741f4de4e1c9642a.tar.gz
cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.c (dump_cgraph_node): Dump versionable flag. * cgraph.h (cgraph_local_info): Add versionable flag. * ipa-cp.c (ipcp_analyze_node): Set versionable flag. (ipcp_versionable_function_p): Use it. * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream versionable flag. From-SVN: r159467
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 942475bc271..88a5b4fffc6 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -183,6 +183,7 @@ ipcp_analyze_node (struct cgraph_node *node)
/* Unreachable nodes should have been eliminated before ipcp. */
gcc_assert (node->needed || node->reachable);
+ node->local.versionable = tree_versionable_function_p (node->decl);
ipa_initialize_node_params (node);
ipa_detect_param_modifications (node);
}
@@ -419,7 +420,7 @@ ipcp_versionable_function_p (struct cgraph_node *node)
basic_block bb;
/* There are a number of generic reasons functions cannot be versioned. */
- if (!tree_versionable_function_p (decl))
+ if (!node->local.versionable)
return false;
/* Removing arguments doesn't work if the function takes varargs. */