summaryrefslogtreecommitdiff
path: root/gcc/ipa-split.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-14 10:24:59 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-14 10:24:59 +0000
commit7d0d0ce1c6bb14bfda0b0fc0fcd8e96bd8c173f0 (patch)
tree7b0127a94d4c70c75f4d133c7806c59bc61566c2 /gcc/ipa-split.c
parent6348046755565ad1a4c61bb07f6725f9436a5685 (diff)
downloadgcc-7d0d0ce1c6bb14bfda0b0fc0fcd8e96bd8c173f0.tar.gz
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef. (symtab_node_base): New structure. (symtab_type): Add SYMTAB_SYMBOL tag. * cgraph.c: Update references to fields (cgraph_hash, assembler_name_hash): Turn into symtab_node. (cgraph_local_info): Remove lto_file_data and externally_visible. (cgraph_node): Remove decl; same_comdat_group list; aux; ref_list; order; address_taken; reachable_from_other_parittion, in_other_partition; resolution. (varpool_node): Remove decl; same_comdat_group; ref_list; lto_file_data; aux; order; resolution; externally_visible; used_from_other_partition; in_other_partition. (symtab_node_def); New union. (cgraph, varpool): Update. (varpool_first_static_initializer, varpool_next_static_initializer, cgraph_only_called_directly_or_aliased_p, varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p, cgraph_alias_aliased_node, varpool_alias_aliased_node, cgraph_edge_recursive_p): Update field references. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * lto-symtab.c: Likewise. * c-gimplify.c: Likewise. * value-prof.c: Likewise. * tree.c: Likewise. * ipa-cp.c: Likewise. * tree-emutls.c: Likewise. * ipa-inline-transform.c: Likwise. * ipa-reference.c: Likewise. * cgraphunit.c: Likewise. * ipa-ref.c: Likewise. * lto-cgraph.c: Likewise. * ipa-ref-inline.h: Likewise. * ipa-pure-const.c: Likewise. * lto-streamer-out.c: Likewise. * ipa-utils.c: Likewise. * ipa-inline.c: Likewise. * matrix-reorg.c: Likewise. * tree-eh.c: Likewise. * tree-vectorizer.c: Likewise. * ipa-split.c: Likewise. * ipa.c: Likewise. * trans-mem.c: Likewise. * ipa-inline-analysis.c: Likewise. * gimplify.c: Likewise. * cfgexpand.c: Likewise. * tree-sra.c: Likewise. * ipa-prop.c: Likewise. * varasm.c: Likewise. * tree-nested.c: Likewise. * tree-inline.c: Likewise. * tree-profile.c: Likewise. * tree-ssa-structalias.c: Likewise. * passes.c: Likewise. * varpool.c: Likewise. * tree.c: Update field referenced for new cgraph/varpool layout. * decl2.c: Likewise. * gcc-interface/trans.c (finalize_nrv): Update field referenced for new cgraph/varpool layout. * lto.c: Update field referenced for new cgraph/varpool layout. * lto-partition.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186450 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r--gcc/ipa-split.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 9dddf393fa7..1997f62538b 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -1203,16 +1203,16 @@ split_function (struct split_point *split_point)
/* For usual cloning it is enough to clear builtin only when signature
changes. For partial inlining we however can not expect the part
of builtin implementation to have same semantic as the whole. */
- if (DECL_BUILT_IN (node->decl))
+ if (DECL_BUILT_IN (node->symbol.decl))
{
- DECL_BUILT_IN_CLASS (node->decl) = NOT_BUILT_IN;
- DECL_FUNCTION_CODE (node->decl) = (enum built_in_function) 0;
+ DECL_BUILT_IN_CLASS (node->symbol.decl) = NOT_BUILT_IN;
+ DECL_FUNCTION_CODE (node->symbol.decl) = (enum built_in_function) 0;
}
cgraph_node_remove_callees (cur_node);
if (!split_part_return_p)
- TREE_THIS_VOLATILE (node->decl) = 1;
+ TREE_THIS_VOLATILE (node->symbol.decl) = 1;
if (dump_file)
- dump_function_to_file (node->decl, dump_file, dump_flags);
+ dump_function_to_file (node->symbol.decl, dump_file, dump_flags);
/* Create the basic block we place call into. It is the entry basic block
split after last label. */
@@ -1237,7 +1237,7 @@ split_function (struct split_point *split_point)
false, GSI_CONTINUE_LINKING);
VEC_replace (tree, args_to_pass, i, arg);
}
- call = gimple_build_call_vec (node->decl, args_to_pass);
+ call = gimple_build_call_vec (node->symbol.decl, args_to_pass);
gimple_set_block (call, DECL_INITIAL (current_function_decl));
/* We avoid address being taken on any variable used by split part,
@@ -1423,7 +1423,7 @@ execute_split_functions (void)
fprintf (dump_file, "Not splitting: not inlinable.\n");
return 0;
}
- if (DECL_DISREGARD_INLINE_LIMITS (node->decl))
+ if (DECL_DISREGARD_INLINE_LIMITS (node->symbol.decl))
{
if (dump_file)
fprintf (dump_file, "Not splitting: disregarding inline limits.\n");
@@ -1455,8 +1455,8 @@ execute_split_functions (void)
called once. It is possible that the caller is called more then once and
then inlining would still benefit. */
if ((!node->callers || !node->callers->next_caller)
- && !node->address_taken
- && (!flag_lto || !node->local.externally_visible))
+ && !node->symbol.address_taken
+ && (!flag_lto || !node->symbol.externally_visible))
{
if (dump_file)
fprintf (dump_file, "Not splitting: not called directly "