aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2006-01-11 14:13:37 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2006-01-11 13:13:37 +0000
commitea99e0becf7057b7112a267b55e39e9b8c24db13 (patch)
tree7528e0c14251773ead6e3aa9eaaf90a59556ee1d /gcc/cgraph.c
parentabcb0cdc2005f2cfb5ac9f1dedd5269b5f51c89f (diff)
downloadgcc-ea99e0becf7057b7112a267b55e39e9b8c24db13.zip
gcc-ea99e0becf7057b7112a267b55e39e9b8c24db13.tar.gz
gcc-ea99e0becf7057b7112a267b55e39e9b8c24db13.tar.bz2
cgraph.c (cgraph_insert_node_to_hashtable): New function.
* cgraph.c (cgraph_insert_node_to_hashtable): New function. * cgraph.h (cgraph_node): Add inline_decl. (cgraph_insert_node_to_hashtable): Declare. (save_inline_function_body): Declare. * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline clones. (cgraph_preserve_function_body_p): Do not presrve when dump is enabled. (cgraph_function_versioning): Update call of tree_function_versioning. (save_inline_function_body): New function. * function.h (struct function): Kill saved_eh, saved_cfg, saved_args, saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list. * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones. (cgraph_default_inline_p): Likewise. (cgraph_decide_inlining_incrementally): Likewise. * tree-inline.c (inline_data): Kill saving_p add update_clones_p. (copy_bb): Kill saving; do updating of clones. (copy_cfg_body): Kill saving. (initialize_inlined-parameters): Likewise. (expand_call_inline): Likewise. (save_body): Kill. (tree_function_versioning): New parameter "update_clones". (inlining_p): Kill saving. * tree-inline.h (tree_function_versioning): Update prototype. * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of saving. From-SVN: r109580
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index ab45f04..88cf8ac 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -214,6 +214,19 @@ cgraph_node (tree decl)
return node;
}
+/* Insert already constructed node into hashtable. */
+
+void
+cgraph_insert_node_to_hashtable (struct cgraph_node *node)
+{
+ struct cgraph_node **slot;
+
+ slot = (struct cgraph_node **) htab_find_slot (cgraph_hash, node, INSERT);
+
+ gcc_assert (!*slot);
+ *slot = node;
+}
+
/* Compare ASMNAME with the DECL_ASSEMBLER_NAME of DECL. */
static bool