From 15ca8f9029e707304afb8b56c94599d1981acfc5 Mon Sep 17 00:00:00 2001
From: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 29 May 2013 20:42:50 +0000
Subject: 	* cgraph.h (symtab_node_base): Add definition, alias and
 analyzed 	flags; reorder rest of fields in more consistent way. 
 (varpool_node): Remove analyzed, finalized and alias. 	(cgraph_ndoe):
 Likewise. 	(symtab_alias_ultimate_target): New function. 
 (cgraph_function_node): Move offline. 	(cgraph_reset_node): Declare. 
 (cgraph_comdat_can_be_unshared_p): Remove. 	(varpool_remove_initializer):
 Declare. 	(varpool_first_defined_variable, varpool_next_defined_variable
 	cgraph_first_defined_function, cgraph_next_defined_function): Update. 
 (cgraph_function_with_gimple_body_p): Update. 	(varpool_all_refs_explicit_p):
 Update. 	(symtab_alias_target): New function. 
 (cgraph_alias_aliased_node, varpool_alias_aliased_node): Rename to ... 
 (cgraph_alias_target, varpool_alias_target): .. this one; simplify. 
 (cgraph_function_or_thunk_node): Simplify using symtab_alias_ultimate_target.
 	(varpool_variable_node): Likewise. 	* cgraph.c
 (cgraph_create_function_alias): Update. 	(cgraph_add_thunk): Update. 
 (cgraph_remove_node): Update. 	(dump_cgraph_node): Do not dump removed flags.
 	(cgraph_function_body_availability): Update. 
 (cgraph_propagate_frequency): Update. 	(verify_cgraph_node): Check sanity of
 local flag. 	(cgraph_function_node): Move here from cgraph.h; revamp for 
 cgraph_function_or_thunk_node. 	* lto-symtab.c
 (lto_varpool_replace_node): Update. 	(lto_symtab_resolve_can_prevail_p):
 Update. 	(lto_symtab_merge_cgraph_nodes): Update. 	* ipa-cp.c
 (determine_versionability, initialize_node_lattices, 
 propagate_constants_accross_call, devirtualization_time_bonus, 
 ipcp_propagate_stage): Update. 	* tree-emutls.c (create_emultls_var,
 ipa_lower_emutls): Update. 	* ipa-inline-transform.c (clone_inlined_nodes,
 preserve_function_body_p): Update. 	* ipa-reference.c (propagate): Update.
 	(write_node_summary_p): Update. 	* toplev.c
 (wrapup_global_declaration_2): Update. 	* cgraphunit.c
 (cgraph_analyze_function): Rename to ... 	(analyze_function) ... this
 one. 	(cgraph_process_new_functions): Update. 	(cgraph_reset_node):
 Export. 	(cgraph_finalize_function): Update. 
 (cgraph_add_new_function): Update. 
 (process_function_and_variable_attributes): Update. 
 (varpool_finalize_decl): Update. 	(symbol_finalized): Remove. 
 (symbol_finalized_and_needed): Rename to ... 	(symbol_defined_and_needed):
 ... update. 	(cgraph_analyze_functions): Update. 	(handle_alias_pairs):
 Update. 	(mark_functions_to_output): Update. 	(assemble_thunk):
 Update. 	(output_in_order): Update. 	(output_weakrefs): Update. 
 (finalize_compilation_unit): Update. 	* lto-cgraph.c
 (reachable_from_other_partition_p, lto_output_node, 
 lto_output_varpool_node, compute_ltrans_boundary, input_overwrite_node, 
 input_node, input_varpool_node): Update. 	* dbxout.c
 (dbxout_expand_expr): Update. 	* cgraphclones.c (cgraph_clone_node): Update. 
 (cgraph_copy_node_for_versioning): Update. 	(cgraph_materialize_clone):
 Update. 	(cgraph_materialize_all_clones): Update. 	*
 ipa-pure-const.c (analyze_function, pure_const_write_summary, 
 propagate_pure_const, propagate_nothrow): Update. 	* lto-streamer-out.c
 (lto_output, write_symbol): Update. 	* ipa-utils.c (ipa_reverse_postorder):
 Update. 	* ipa-inline.c (can_inline_edge_p): Update. 
 (update_caller_keys, ipa_inline): Update. 	* dwarf2out.c
 (reference_to_unused, 	premark_types_used_by_global_vars_helper): Update. 
 * tree-eh.c (tree_could_trap_p): Update. 	* ipa-split.c (consider_split,
 execute_split_functions): Update. 	* ipa.c (cgraph_non_local_node_p_1,
 cgraph_local_node_p, 	 has_addr_references_p): Update; 	move ahead in
 file for better readability. 	(process_references): Simplify. 
 (symtab_remove_unreachable_nodes): Update; cleanup way function/var 	bodies
 are removed. 	(cgraph_comdat_can_be_unshared_p): Make static. 
 (cgraph_externally_visible_p): Update. 
 (varpool_externally_visible_p): Update. 
 (function_and_variable_visibility): Update. 	* trans-mem.c (get_cg_data,
 ipa_tm_mayenterirr_function, 	ipa_tm_mark_force_output_node): Update. 
 * ipa-inline-analysis.c (dump_inline_summary, initialize_inline_failed, 
 estimate_edge_devirt_benefit, inline_generate_summary, 
 inline_write_summary): Update. 	* gimple-fold.c
 (can_refer_decl_in_current_unit_p): Update. 	* ipa-prop.c
 (ipa_compute_jump_functions): Update. 	(ipa_print_node_params,
 ipa_prop_read_section, ipa_update_after_lto_read, 
 read_replacements_section): Update. 	* varasm.c (mark_decl_referenced):
 Update. 	(assemble_alias, dump_tm_clone_pairs): Update. 	*
 tree-inline.c (copy_bb): Update. 	(estimate_num_insns,
 optimize_inline_calls, tree_function_versioning): 	Update. 	*
 symtab.c (dump_symtab_base): Print new flags. 	(verify_symtab_base): Verify
 new flags. 	(symtab_alias_ultimate_target): New function. 	*
 tree-ssa-structalias.c (get_constraint_for_ssa_var, 
 create_variable_info_for, associate_varinfo_to_alias, ipa_pta_execute): 
 Update. 	* passes.c (ipa_write_summaries,
 ipa_write_optimization_summaries): Update. 	* i386.c
 (ix86_get_function_versions_dispatcher, 
 ix86_generate_version_dispatcher_body): Update. 	(fold_builtin_cpu):
 Use varpool_add_new_variable. 	* varpool.c (varpool_remove_initializer):
 Break out from ... 	(varpool_remove_node): ... this one. 
 (dump_varpool_node, varpool_node_for_asm, 
 cgraph_variable_initializer_availability, varpool_analyze_node, 
 varpool_assemble_decl, varpool_remove_unreferenced_decls, 
 varpool_finalize_named_section_flags, varpool_create_variable_alias): Update

	* decl.c (java_mark_decl_local): Update for new symtab flags.

	* tree.c (cp_fix_function_decl_p): Update for new symtab flags.
	* decl2.c )var_finalized_p, cp_write_global_declarations): Likewise.

	* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
	flags.
	* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199422 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/trans-mem.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

(limited to 'gcc/trans-mem.c')

diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index c66278c0110..d7e5a40106f 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -3932,7 +3932,7 @@ get_cg_data (struct cgraph_node **node, bool traverse_aliases)
 {
   struct tm_ipa_cg_data *d;
 
-  if (traverse_aliases && (*node)->alias)
+  if (traverse_aliases && (*node)->symbol.alias)
     *node = cgraph_get_node ((*node)->thunk.alias);
 
   d = (struct tm_ipa_cg_data *) (*node)->symbol.aux;
@@ -4518,7 +4518,7 @@ ipa_tm_mayenterirr_function (struct cgraph_node *node)
   /* Recurse on the main body for aliases.  In general, this will
      result in one of the bits above being set so that we will not
      have to recurse next time.  */
-  if (node->alias)
+  if (node->symbol.alias)
     return ipa_tm_mayenterirr_function (cgraph_get_node (node->thunk.alias));
 
   /* What remains is unmarked local functions without items that force
@@ -4678,9 +4678,7 @@ static inline void
 ipa_tm_mark_force_output_node (struct cgraph_node *node)
 {
   cgraph_mark_force_output_node (node);
-  /* ??? function_and_variable_visibility will reset
-     the needed bit, without actually checking.  */
-  node->analyzed = 1;
+  node->symbol.analyzed = true;
 }
 
 /* Callback data for ipa_tm_create_version_alias.  */
@@ -5250,7 +5248,7 @@ ipa_tm_execute (void)
 	    {
 	      /* If this is an alias, make sure its base is queued as well.
 		 we need not scan the callees now, as the base will do.  */
-	      if (node->alias)
+	      if (node->symbol.alias)
 		{
 		  node = cgraph_get_node (node->thunk.alias);
 		  d = get_cg_data (&node, true);
@@ -5393,7 +5391,7 @@ ipa_tm_execute (void)
   for (i = 0; i < tm_callees.length (); ++i)
     {
       node = tm_callees[i];
-      if (node->analyzed)
+      if (node->symbol.analyzed)
 	{
 	  d = get_cg_data (&node, true);
 	  if (d->clone)
-- 
cgit v1.2.1