]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
lto-symtab.c (lto_cgraph_replace_node): Update.
authorJan Hubicka <jh@suse.cz>
Wed, 18 Apr 2012 09:57:53 +0000 (11:57 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 18 Apr 2012 09:57:53 +0000 (09:57 +0000)
* lto-symtab.c (lto_cgraph_replace_node): Update.
* cgraphbuild.c (record_reference, record_type_list,
record_eh_tables, mark_address, mark_load, mark_store): Update.
* cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
Update.
* cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
(cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
* reload.c: Fix typo in comment.
* rtlanal.c: Likewise.
* tree-emultls.c (gen_emutls_addr): Update.
* ipa-reference.c (analyze_function): Update.
* cgraphunit.c (cgraph_analyze_function,
cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
Update.
* ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
(ipa_remove_reference): Likewise.
(ipa_remove_all_refering): Rename to ...
(ipa_remove_all_referring): ... this one; update.
(ipa_dump_references): Update.
(ipa_dump_referring): Update.
(ipa_clone_references): Update.
(ipa_clone_refering): Rename to ...
(ipa_clone_referring): ... this one; update.
(ipa_ref_cannot_lead_to_return): Update.
(ipa_ref_has_aliases_p): Update.
* ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
forward typedefs.
(ipa_ref_type): Remove.
(ipa_ref_ptr_u): Remove.
(ipa_ref): Remove referencing, refered, refered_index, refering_type
and refered_type; add referring, referred and referred_index.
(ipa_ref_list): Rename refering to referring.
(ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
ipa_clone_references, ipa_clone_referring): Update prototypes.
* lto-cgraph.c (referenced_from_other_partition_p): Update.
(lto_output_ref): Update.
(add_references): Update.
(input_varpool_node): Update.
(input_refs): Update.
* ipa-ref-inline.h (ipa_ref_node): Update.
(ipa_ref_varpool_node): Update.
(ipa_ref_referring_node); Update.
(ipa_ref_referring_varpool_node): Update.
(ipa_ref_referring_ref_list); Update.
(ipa_ref_referred_ref_list): Update.
(ipa_ref_list_first_referring): Update.
(ipa_empty_ref_list): Update.
(ipa_ref_list_refering_iterate): Rename to ...
(ipa_ref_list_referring_iterate): ... this one.
* cse.c: Update comment.
* ipa-utils.c (ipa_reverse_postorder): Update.
* tree-ssa-alias.c: Update.
* ipa-inline.c (reset_edge_caches): Update.
(update_caller_keys): Update.
* ipa-inline.h: Update comments.
* jump.c: Update comment.
* alias.c: Likewise.
* ipa.c (process_references): Update.
(cgraph_remove_unreachable_nodes): Likewise.
(ipa_discover_readonly_nonaddressable_var): Likewise.
(cgraph_address_taken_from_non_vtable_p): Likewise.
* trans-mem.c (ipa_tm_execute): Update.
* simplify-rtx.c: Fix comment.
* rtl.c: Fix comment.
* symtab.c (symtab_unregister_node): Update.
* varpool.c (dump_varpool_node): Update.
(varpool_analyze_pending_decls): Update.
(assemble_aliases): Update.
(varpool_for_node_and_aliases): Update.

From-SVN: r186564

29 files changed:
gcc/ChangeLog
gcc/alias.c
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphbuild.c
gcc/cgraphunit.c
gcc/cse.c
gcc/ipa-inline.c
gcc/ipa-inline.h
gcc/ipa-ref-inline.h
gcc/ipa-ref.c
gcc/ipa-ref.h
gcc/ipa-reference.c
gcc/ipa-utils.c
gcc/ipa.c
gcc/jump.c
gcc/lto-cgraph.c
gcc/lto-symtab.c
gcc/lto/ChangeLog
gcc/lto/lto-partition.c
gcc/reload.c
gcc/rtl.c
gcc/rtlanal.c
gcc/simplify-rtx.c
gcc/symtab.c
gcc/trans-mem.c
gcc/tree-emutls.c
gcc/tree-ssa-alias.c
gcc/varpool.c

index d60c8bad4a4f3ba1040d3b5cac77819accea531e..45c2641f317b05e673f55d9b2b67efade825c2f9 100644 (file)
@@ -1,3 +1,76 @@
+2012-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_cgraph_replace_node): Update.
+       * cgraphbuild.c (record_reference, record_type_list,
+       record_eh_tables, mark_address, mark_load, mark_store): Update.
+       * cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
+       cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
+       Update.
+       * cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
+       (cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
+       * reload.c: Fix typo in comment.
+       * rtlanal.c: Likewise.
+       * tree-emultls.c (gen_emutls_addr): Update.
+       * ipa-reference.c (analyze_function): Update.
+       * cgraphunit.c (cgraph_analyze_function,
+       cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
+       Update.
+       * ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
+       (ipa_remove_reference): Likewise.
+       (ipa_remove_all_refering): Rename to ...
+       (ipa_remove_all_referring): ... this one; update.
+       (ipa_dump_references): Update.
+       (ipa_dump_referring): Update.
+       (ipa_clone_references): Update.
+       (ipa_clone_refering): Rename to ...
+       (ipa_clone_referring): ... this one; update.
+       (ipa_ref_cannot_lead_to_return): Update.
+       (ipa_ref_has_aliases_p): Update.
+       * ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
+       forward typedefs.
+       (ipa_ref_type): Remove.
+       (ipa_ref_ptr_u): Remove.
+       (ipa_ref): Remove referencing, refered, refered_index, refering_type
+       and refered_type; add referring, referred and referred_index.
+       (ipa_ref_list): Rename refering to referring.
+       (ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
+       ipa_clone_references, ipa_clone_referring): Update prototypes.
+       * lto-cgraph.c (referenced_from_other_partition_p): Update.
+       (lto_output_ref): Update.
+       (add_references): Update.
+       (input_varpool_node): Update.
+       (input_refs): Update.
+       * ipa-ref-inline.h (ipa_ref_node): Update.
+       (ipa_ref_varpool_node): Update.
+       (ipa_ref_referring_node); Update.
+       (ipa_ref_referring_varpool_node): Update.
+       (ipa_ref_referring_ref_list); Update.
+       (ipa_ref_referred_ref_list): Update.
+       (ipa_ref_list_first_referring): Update.
+       (ipa_empty_ref_list): Update.
+       (ipa_ref_list_refering_iterate): Rename to ...
+       (ipa_ref_list_referring_iterate): ... this one.
+       * cse.c: Update comment.
+       * ipa-utils.c (ipa_reverse_postorder): Update.
+       * tree-ssa-alias.c: Update.
+       * ipa-inline.c (reset_edge_caches): Update.
+       (update_caller_keys): Update.
+       * ipa-inline.h: Update comments.
+       * jump.c: Update comment.
+       * alias.c: Likewise.
+       * ipa.c (process_references): Update.
+       (cgraph_remove_unreachable_nodes): Likewise.
+       (ipa_discover_readonly_nonaddressable_var): Likewise.
+       (cgraph_address_taken_from_non_vtable_p): Likewise.
+       * trans-mem.c (ipa_tm_execute): Update.
+       * simplify-rtx.c: Fix comment.
+       * rtl.c: Fix comment.
+       * symtab.c (symtab_unregister_node): Update.
+       * varpool.c (dump_varpool_node): Update.
+       (varpool_analyze_pending_decls): Update.
+       (assemble_aliases): Update.
+       (varpool_for_node_and_aliases): Update.
+
 2012-04-18  Richard Guenther  <rguenther@suse.de>
 
        * cfgloop.h (estimate_numbers_of_iterations_loop): Remove
index 80c8759dae087f4454e5ec0c82aa6cfe9e63dfc7..09befd7eced8b6edb462dc36052ea19ab05c5e0b 100644 (file)
@@ -1178,7 +1178,7 @@ find_base_value (rtx src)
       return 0;
 
     case TRUNCATE:
-      /* As we do not know which address space the pointer is refering to, we can
+      /* As we do not know which address space the pointer is referring to, we can
         handle this only if the target does not support different pointer or
         address modes depending on the address space.  */
       if (!target_default_pointer_address_modes_p ())
@@ -1197,7 +1197,7 @@ find_base_value (rtx src)
 
     case ZERO_EXTEND:
     case SIGN_EXTEND:  /* used for NT/Alpha pointers */
-      /* As we do not know which address space the pointer is refering to, we can
+      /* As we do not know which address space the pointer is referring to, we can
         handle this only if the target does not support different pointer or
         address modes depending on the address space.  */
       if (!target_default_pointer_address_modes_p ())
@@ -1602,7 +1602,7 @@ find_base_term (rtx x)
       return REG_BASE_VALUE (x);
 
     case TRUNCATE:
-      /* As we do not know which address space the pointer is refering to, we can
+      /* As we do not know which address space the pointer is referring to, we can
         handle this only if the target does not support different pointer or
         address modes depending on the address space.  */
       if (!target_default_pointer_address_modes_p ())
@@ -1621,7 +1621,7 @@ find_base_term (rtx x)
 
     case ZERO_EXTEND:
     case SIGN_EXTEND:  /* Used for Alpha/NT pointers */
-      /* As we do not know which address space the pointer is refering to, we can
+      /* As we do not know which address space the pointer is referring to, we can
         handle this only if the target does not support different pointer or
         address modes depending on the address space.  */
       if (!target_default_pointer_address_modes_p ())
@@ -2363,7 +2363,7 @@ nonoverlapping_memrefs_p (const_rtx x, const_rtx y, bool loop_invariant)
       && ! rtx_equal_p (rtlx, rtly))
     return 1;
 
-  /* If we have MEMs refering to different address spaces (which can
+  /* If we have MEMs referring to different address spaces (which can
      potentially overlap), we cannot easily tell from the addresses
      whether the references overlap.  */
   if (MEM_P (rtlx) && MEM_P (rtly)
@@ -2471,7 +2471,7 @@ true_dependence_1 (const_rtx mem, enum machine_mode mem_mode, rtx mem_addr,
   if (MEM_READONLY_P (x))
     return 0;
 
-  /* If we have MEMs refering to different address spaces (which can
+  /* If we have MEMs referring to different address spaces (which can
      potentially overlap), we cannot easily tell from the addresses
      whether the references overlap.  */
   if (MEM_ADDR_SPACE (mem) != MEM_ADDR_SPACE (x))
@@ -2589,7 +2589,7 @@ write_dependence_p (const_rtx mem, const_rtx x, int writep)
   if (!writep && MEM_READONLY_P (mem))
     return 0;
 
-  /* If we have MEMs refering to different address spaces (which can
+  /* If we have MEMs referring to different address spaces (which can
      potentially overlap), we cannot easily tell from the addresses
      whether the references overlap.  */
   if (MEM_ADDR_SPACE (mem) != MEM_ADDR_SPACE (x))
@@ -2676,7 +2676,7 @@ may_alias_p (const_rtx mem, const_rtx x)
   if (MEM_READONLY_P (x))
     return 0;
 
-  /* If we have MEMs refering to different address spaces (which can
+  /* If we have MEMs referring to different address spaces (which can
      potentially overlap), we cannot easily tell from the addresses
      whether the references overlap.  */
   if (MEM_ADDR_SPACE (mem) != MEM_ADDR_SPACE (x))
index ae8c4e8e36868c6fafeaea50af1def5e82912f72..8ba9c36258360918d57aa5bd99336145d6c9c54f 100644 (file)
@@ -528,8 +528,8 @@ cgraph_same_body_alias (struct cgraph_node *decl_node ATTRIBUTE_UNUSED, tree ali
   n = cgraph_create_function_alias (alias, decl);
   n->same_body_alias = true;
   if (same_body_aliases_done)
-    ipa_record_reference (n, NULL, cgraph_get_node (decl), NULL, IPA_REF_ALIAS,
-                         NULL);
+    ipa_record_reference ((symtab_node)n, (symtab_node)cgraph_get_node (decl),
+                         IPA_REF_ALIAS, NULL);
   return n;
 }
 
@@ -1927,7 +1927,7 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
   for (e = n->indirect_calls; e; e = e->next_callee)
     cgraph_clone_edge (e, new_node, e->call_stmt, e->lto_stmt_uid,
                       count_scale, freq, update_original);
-  ipa_clone_references (new_node, NULL, &n->symbol.ref_list);
+  ipa_clone_references ((symtab_node)new_node, &n->symbol.ref_list);
 
   new_node->next_sibling_clone = n->clones;
   if (n->clones)
@@ -2023,6 +2023,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
   FOR_EACH_VEC_ELT (ipa_replace_map_p, tree_map, i, map)
     {
       tree var = map->new_tree;
+      symtab_node ref_node;
 
       STRIP_NOPS (var);
       if (TREE_CODE (var) != ADDR_EXPR)
@@ -2030,19 +2031,16 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
       var = get_base_var (var);
       if (!var)
        continue;
+      if (TREE_CODE (var) != FUNCTION_DECL
+         && TREE_CODE (var) != VAR_DECL)
+       continue;
 
       /* Record references of the future statement initializing the constant
         argument.  */
-      if (TREE_CODE (var) == FUNCTION_DECL)
-       {
-         struct cgraph_node *ref_node = cgraph_get_node (var);
-         gcc_checking_assert (ref_node);
-         ipa_record_reference (new_node, NULL, ref_node, NULL, IPA_REF_ADDR,
-                               NULL);
-       }
-      else if (TREE_CODE (var) == VAR_DECL)
-       ipa_record_reference (new_node, NULL, NULL, varpool_node (var),
-                             IPA_REF_ADDR, NULL);
+      ref_node = symtab_get_node (var);
+      gcc_checking_assert (ref_node);
+      ipa_record_reference ((symtab_node)new_node, (symtab_node)ref_node,
+                           IPA_REF_ADDR, NULL);
     }
   if (!args_to_skip)
     new_node->clone.combined_args_to_skip = old_node->clone.combined_args_to_skip;
@@ -2249,10 +2247,10 @@ cgraph_for_node_thunks_and_aliases (struct cgraph_node *node,
       if (cgraph_for_node_thunks_and_aliases (e->caller, callback, data,
                                              include_overwritable))
        return true;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list, i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct cgraph_node *alias = ipa_ref_refering_node (ref);
+       struct cgraph_node *alias = ipa_ref_referring_node (ref);
        if (include_overwritable
            || cgraph_function_body_availability (alias) > AVAIL_OVERWRITABLE)
          if (cgraph_for_node_thunks_and_aliases (alias, callback, data,
@@ -2277,10 +2275,10 @@ cgraph_for_node_and_aliases (struct cgraph_node *node,
 
   if (callback (node, data))
     return true;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list, i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct cgraph_node *alias = ipa_ref_refering_node (ref);
+       struct cgraph_node *alias = ipa_ref_referring_node (ref);
        if (include_overwritable
            || cgraph_function_body_availability (alias) > AVAIL_OVERWRITABLE)
           if (cgraph_for_node_and_aliases (alias, callback, data,
index ca06622714cce9a6e7b5aeba93846a96c4b98b33..a8132ce85a01aacb93d3711977abbdc9c7ceed02 100644 (file)
@@ -38,10 +38,6 @@ enum symtab_type
   SYMTAB_VARIABLE
 };
 
-union symtab_node_def;
-typedef union symtab_node_def *symtab_node;
-typedef const union symtab_node_def *const_symtab_node;
-
 /* Base of all entries in the symbol table.
    The symtab_node is inherited by cgraph and varpol nodes.  */
 struct GTY(()) symtab_node_base
@@ -1166,7 +1162,7 @@ cgraph_alias_aliased_node (struct cgraph_node *n)
 
   ipa_ref_list_reference_iterate (&n->symbol.ref_list, 0, ref);
   gcc_checking_assert (ref->use == IPA_REF_ALIAS);
-  if (ref->refered_type == IPA_REF_CGRAPH)
+  if (symtab_function_p (ref->referred))
     return ipa_ref_node (ref);
   return NULL;
 }
@@ -1180,7 +1176,7 @@ varpool_alias_aliased_node (struct varpool_node *n)
 
   ipa_ref_list_reference_iterate (&n->symbol.ref_list, 0, ref);
   gcc_checking_assert (ref->use == IPA_REF_ALIAS);
-  if (ref->refered_type == IPA_REF_VARPOOL)
+  if (symtab_variable_p (ref->referred))
     return ipa_ref_varpool_node (ref);
   return NULL;
 }
index 689cede526ddc787b45e3c9c402c9d2ffd85300e..37059a223c9053997d1152045a99661e57f8938c 100644 (file)
@@ -77,7 +77,8 @@ record_reference (tree *tp, int *walk_subtrees, void *data)
          struct cgraph_node *node = cgraph_get_create_node (decl);
          if (!ctx->only_vars)
            cgraph_mark_address_taken_node (node);
-         ipa_record_reference (NULL, ctx->varpool_node, node, NULL,
+         ipa_record_reference ((symtab_node)ctx->varpool_node,
+                               (symtab_node)node,
                                IPA_REF_ADDR, NULL);
        }
 
@@ -87,8 +88,8 @@ record_reference (tree *tp, int *walk_subtrees, void *data)
          if (lang_hooks.callgraph.analyze_expr)
            lang_hooks.callgraph.analyze_expr (&decl, walk_subtrees);
          varpool_mark_needed_node (vnode);
-         ipa_record_reference (NULL, ctx->varpool_node,
-                               NULL, vnode,
+         ipa_record_reference ((symtab_node)ctx->varpool_node,
+                               (symtab_node)vnode,
                                IPA_REF_ADDR, NULL);
        }
       *walk_subtrees = 0;
@@ -130,8 +131,8 @@ record_type_list (struct cgraph_node *node, tree list)
            {
              struct varpool_node *vnode = varpool_node (type);
              varpool_mark_needed_node (vnode);
-             ipa_record_reference (node, NULL,
-                                   NULL, vnode,
+             ipa_record_reference ((symtab_node)node,
+                                   (symtab_node)vnode,
                                    IPA_REF_ADDR, NULL);
            }
        }
@@ -151,7 +152,7 @@ record_eh_tables (struct cgraph_node *node, struct function *fun)
       struct cgraph_node *per_node;
 
       per_node = cgraph_get_create_node (DECL_FUNCTION_PERSONALITY (node->symbol.decl));
-      ipa_record_reference (node, NULL, per_node, NULL, IPA_REF_ADDR, NULL);
+      ipa_record_reference ((symtab_node)node, (symtab_node)per_node, IPA_REF_ADDR, NULL);
       cgraph_mark_address_taken_node (per_node);
     }
 
@@ -232,8 +233,8 @@ mark_address (gimple stmt, tree addr, void *data)
     {
       struct cgraph_node *node = cgraph_get_create_node (addr);
       cgraph_mark_address_taken_node (node);
-      ipa_record_reference ((struct cgraph_node *)data, NULL,
-                           node, NULL,
+      ipa_record_reference ((symtab_node)data,
+                           (symtab_node)node,
                            IPA_REF_ADDR, stmt);
     }
   else if (addr && TREE_CODE (addr) == VAR_DECL
@@ -245,8 +246,8 @@ mark_address (gimple stmt, tree addr, void *data)
       if (lang_hooks.callgraph.analyze_expr)
        lang_hooks.callgraph.analyze_expr (&addr, &walk_subtrees);
       varpool_mark_needed_node (vnode);
-      ipa_record_reference ((struct cgraph_node *)data, NULL,
-                           NULL, vnode,
+      ipa_record_reference ((symtab_node)data,
+                           (symtab_node)vnode,
                            IPA_REF_ADDR, stmt);
     }
 
@@ -265,8 +266,8 @@ mark_load (gimple stmt, tree t, void *data)
         directly manipulated in the code.  Pretend that it's an address.  */
       struct cgraph_node *node = cgraph_get_create_node (t);
       cgraph_mark_address_taken_node (node);
-      ipa_record_reference ((struct cgraph_node *)data, NULL,
-                           node, NULL,
+      ipa_record_reference ((symtab_node)data,
+                           (symtab_node)node,
                            IPA_REF_ADDR, stmt);
     }
   else if (t && TREE_CODE (t) == VAR_DECL
@@ -278,8 +279,8 @@ mark_load (gimple stmt, tree t, void *data)
       if (lang_hooks.callgraph.analyze_expr)
        lang_hooks.callgraph.analyze_expr (&t, &walk_subtrees);
       varpool_mark_needed_node (vnode);
-      ipa_record_reference ((struct cgraph_node *)data, NULL,
-                           NULL, vnode,
+      ipa_record_reference ((symtab_node)data,
+                           (symtab_node)vnode,
                            IPA_REF_LOAD, stmt);
     }
   return false;
@@ -300,8 +301,8 @@ mark_store (gimple stmt, tree t, void *data)
       if (lang_hooks.callgraph.analyze_expr)
        lang_hooks.callgraph.analyze_expr (&t, &walk_subtrees);
       varpool_mark_needed_node (vnode);
-      ipa_record_reference ((struct cgraph_node *)data, NULL,
-                           NULL, vnode,
+      ipa_record_reference ((symtab_node)data,
+                           (symtab_node)vnode,
                            IPA_REF_STORE, stmt);
      }
   return false;
@@ -348,19 +349,22 @@ build_cgraph_edges (void)
              && gimple_omp_parallel_child_fn (stmt))
            {
              tree fn = gimple_omp_parallel_child_fn (stmt);
-             ipa_record_reference (node, NULL, cgraph_get_create_node (fn),
-                                   NULL, IPA_REF_ADDR, stmt);
+             ipa_record_reference ((symtab_node)node,
+                                   (symtab_node)cgraph_get_create_node (fn),
+                                   IPA_REF_ADDR, stmt);
            }
          if (gimple_code (stmt) == GIMPLE_OMP_TASK)
            {
              tree fn = gimple_omp_task_child_fn (stmt);
              if (fn)
-               ipa_record_reference (node, NULL, cgraph_get_create_node (fn),
-                                     NULL, IPA_REF_ADDR, stmt);
+               ipa_record_reference ((symtab_node)node,
+                                     (symtab_node) cgraph_get_create_node (fn),
+                                     IPA_REF_ADDR, stmt);
              fn = gimple_omp_task_copy_fn (stmt);
              if (fn)
-               ipa_record_reference (node, NULL, cgraph_get_create_node (fn),
-                                     NULL, IPA_REF_ADDR, stmt);
+               ipa_record_reference ((symtab_node)node,
+                                     (symtab_node)cgraph_get_create_node (fn),
+                                     IPA_REF_ADDR, stmt);
            }
        }
       for (gsi = gsi_start (phi_nodes (bb)); !gsi_end_p (gsi); gsi_next (&gsi))
index 4342d3d30ec12945418acf310a5b9731d7ccc028..7d585e6e5f956ca8f0acd54437e4f321028828af 100644 (file)
@@ -930,7 +930,8 @@ cgraph_analyze_function (struct cgraph_node *node)
            return;
          }
       if (!VEC_length (ipa_ref_t, node->symbol.ref_list.references))
-        ipa_record_reference (node, NULL, tgt, NULL, IPA_REF_ALIAS, NULL);
+        ipa_record_reference ((symtab_node)node, (symtab_node)tgt,
+                             IPA_REF_ALIAS, NULL);
       if (node->same_body_alias)
        { 
          DECL_VIRTUAL_P (node->symbol.decl) = DECL_VIRTUAL_P (node->thunk.alias);
@@ -1031,7 +1032,8 @@ cgraph_process_same_body_aliases (void)
        && !VEC_length (ipa_ref_t, node->symbol.ref_list.references))
       {
         struct cgraph_node *tgt = cgraph_get_node (node->thunk.alias);
-        ipa_record_reference (node, NULL, tgt, NULL, IPA_REF_ALIAS, NULL);
+        ipa_record_reference ((symtab_node)node, (symtab_node)tgt,
+                             IPA_REF_ALIAS, NULL);
       }
   same_body_aliases_done = true;
 }
@@ -1848,11 +1850,11 @@ assemble_thunks_and_aliases (struct cgraph_node *node)
       }
     else
       e = e->next_caller;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list,
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list,
                                             i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct cgraph_node *alias = ipa_ref_refering_node (ref);
+       struct cgraph_node *alias = ipa_ref_referring_node (ref);
         bool saved_written = TREE_ASM_WRITTEN (alias->thunk.alias);
 
        /* Force assemble_alias to really output the alias this time instead
index 5c32336c5963cc318a566f68cc76adfee6a5e335..b7db827cf30f07b743d05d6bf2d57cb0af44e84f 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -2622,7 +2622,7 @@ exp_equiv_p (const_rtx x, const_rtx y, int validate, bool for_gcse)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
-  /* MEMs refering to different address space are not equivalent.  */
+  /* MEMs referring to different address space are not equivalent.  */
   if (code == MEM && MEM_ADDR_SPACE (x) != MEM_ADDR_SPACE (y))
     return 0;
 
index d28bed4d8325a1ae33e7a004c320922e05b19c17..451bd6176034fa692ea8584b9ce81ac95337bc84 100644 (file)
@@ -957,10 +957,10 @@ reset_edge_caches (struct cgraph_node *node)
   for (edge = where->callers; edge; edge = edge->next_caller)
     if (edge->inline_failed)
       reset_edge_growth_cache (edge);
-  for (i = 0; ipa_ref_list_refering_iterate (&where->symbol.ref_list,
+  for (i = 0; ipa_ref_list_referring_iterate (&where->symbol.ref_list,
                                              i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
-      reset_edge_caches (ipa_ref_refering_node (ref));
+      reset_edge_caches (ipa_ref_referring_node (ref));
 
   if (!e)
     return;
@@ -1009,11 +1009,11 @@ update_caller_keys (fibheap_t heap, struct cgraph_node *node,
   if (!bitmap_set_bit (updated_nodes, node->uid))
     return;
 
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list,
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list,
                                              i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct cgraph_node *alias = ipa_ref_refering_node (ref);
+       struct cgraph_node *alias = ipa_ref_referring_node (ref);
         update_caller_keys (heap, alias, updated_nodes, check_inlinablity_for);
       }
 
index a2c6cac0147417b117ee3581db8a6047259ab302..824a6c5035069af93649be0a2e6d92b4142c1704 100644 (file)
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 
    Conditions that are interesting for function body are collected into CONDS
    vector.  They are of simple for  function_param OP VAL, where VAL is
-   IPA invariant.  The conditions are then refered by predicates.  */
+   IPA invariant.  The conditions are then referred by predicates.  */
 
 typedef struct GTY(()) condition
   {
index b9c3f5335341c308b3330c52d589be9947e34238..636af145789384364258c7b3e7b6ea320cbb432c 100644 (file)
@@ -19,61 +19,51 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Return callgraph node REF is refering.  */
+/* Return callgraph node REF is referring.  */
 static inline struct cgraph_node *
 ipa_ref_node (struct ipa_ref *ref)
 {
-  gcc_assert (ref->refered_type == IPA_REF_CGRAPH);
-  return ref->refered.cgraph_node;
+  return cgraph (ref->referred);
 }
 
-/* Return varpool node REF is refering.  */
+/* Return varpool node REF is referring.  */
 
 static inline struct varpool_node *
 ipa_ref_varpool_node (struct ipa_ref *ref)
 {
-  gcc_assert (ref->refered_type == IPA_REF_VARPOOL);
-  return ref->refered.varpool_node;
+  return varpool (ref->referred);
 }
 
 /* Return cgraph node REF is in.  */
 
 static inline struct cgraph_node *
-ipa_ref_refering_node (struct ipa_ref *ref)
+ipa_ref_referring_node (struct ipa_ref *ref)
 {
-  gcc_assert (ref->refering_type == IPA_REF_CGRAPH);
-  return ref->refering.cgraph_node;
+  return cgraph (ref->referring);
 }
 
 /* Return varpool node REF is in.  */
 
 static inline struct varpool_node *
-ipa_ref_refering_varpool_node (struct ipa_ref *ref)
+ipa_ref_referring_varpool_node (struct ipa_ref *ref)
 {
-  gcc_assert (ref->refering_type == IPA_REF_VARPOOL);
-  return ref->refering.varpool_node;
+  return varpool (ref->referring);
 }
 
 /* Return reference list REF is in.  */
 
 static inline struct ipa_ref_list *
-ipa_ref_refering_ref_list (struct ipa_ref *ref)
+ipa_ref_referring_ref_list (struct ipa_ref *ref)
 {
-  if (ref->refering_type == IPA_REF_CGRAPH)
-    return &ipa_ref_refering_node (ref)->symbol.ref_list;
-  else
-    return &ipa_ref_refering_varpool_node (ref)->symbol.ref_list;
+  return &ref->referring->symbol.ref_list;
 }
 
 /* Return reference list REF is in.  */
 
 static inline struct ipa_ref_list *
-ipa_ref_refered_ref_list (struct ipa_ref *ref)
+ipa_ref_referred_ref_list (struct ipa_ref *ref)
 {
-  if (ref->refered_type == IPA_REF_CGRAPH)
-    return &ipa_ref_node (ref)->symbol.ref_list;
-  else
-    return &ipa_ref_varpool_node (ref)->symbol.ref_list;
+  return &ref->referred->symbol.ref_list;
 }
 
 /* Return first reference in LIST or NULL if empty.  */
@@ -86,14 +76,14 @@ ipa_ref_list_first_reference (struct ipa_ref_list *list)
   return VEC_index (ipa_ref_t, list->references, 0);
 }
 
-/* Return first refering ref in LIST or NULL if empty.  */
+/* Return first referring ref in LIST or NULL if empty.  */
 
 static inline struct ipa_ref *
-ipa_ref_list_first_refering (struct ipa_ref_list *list)
+ipa_ref_list_first_referring (struct ipa_ref_list *list)
 {
-  if (!VEC_length (ipa_ref_ptr, list->refering))
+  if (!VEC_length (ipa_ref_ptr, list->referring))
     return NULL;
-  return VEC_index (ipa_ref_ptr, list->refering, 0);
+  return VEC_index (ipa_ref_ptr, list->referring, 0);
 }
 
 /* Clear reference list.  */
@@ -101,7 +91,7 @@ ipa_ref_list_first_refering (struct ipa_ref_list *list)
 static inline void
 ipa_empty_ref_list (struct ipa_ref_list *list)
 {
-  list->refering = NULL;
+  list->referring = NULL;
   list->references = NULL;
 }
 
@@ -115,5 +105,5 @@ ipa_ref_list_nreferences (struct ipa_ref_list *list)
 
 #define ipa_ref_list_reference_iterate(L,I,P) \
    VEC_iterate(ipa_ref_t, (L)->references, (I), (P))
-#define ipa_ref_list_refering_iterate(L,I,P) \
-   VEC_iterate(ipa_ref_ptr, (L)->refering, (I), (P))
+#define ipa_ref_list_referring_iterate(L,I,P) \
+   VEC_iterate(ipa_ref_ptr, (L)->referring, (I), (P))
index 08f5ade398fbdfe43d41722e48ba366efba528dd..7926eb6a7d60a221191f0a9726df63300add93e1 100644 (file)
@@ -1,5 +1,5 @@
 /* Interprocedural reference lists.
-   Copyright (C) 2010
+   Copyright (C) 2010, 2011, 2012
    Free Software Foundation, Inc.
    Contributed by Jan Hubicka
 
@@ -34,54 +34,28 @@ static const char *ipa_ref_use_name[] = {"read","write","addr","alias"};
    of the use and STMT the statement (if it exists).  */
 
 struct ipa_ref *
-ipa_record_reference (struct cgraph_node *refering_node,
-                     struct varpool_node *refering_varpool_node,
-                     struct cgraph_node *refered_node,
-                     struct varpool_node *refered_varpool_node,
+ipa_record_reference (symtab_node referring_node,
+                     symtab_node referred_node,
                      enum ipa_ref_use use_type, gimple stmt)
 {
   struct ipa_ref *ref;
   struct ipa_ref_list *list, *list2;
   VEC(ipa_ref_t,gc) *old_references;
-  gcc_assert ((!refering_node) ^ (!refering_varpool_node));
-  gcc_assert ((!refered_node) ^ (!refered_varpool_node));
-  gcc_assert (!stmt || refering_node);
-  gcc_assert (use_type != IPA_REF_ALIAS || !stmt);
 
-  list = (refering_node ? &refering_node->symbol.ref_list
-         : &refering_varpool_node->symbol.ref_list);
+  gcc_checking_assert (!stmt || symtab_function_p (referring_node));
+  gcc_checking_assert (use_type != IPA_REF_ALIAS || !stmt);
+
+  list = &referring_node->symbol.ref_list;
   old_references = list->references;
   VEC_safe_grow (ipa_ref_t, gc, list->references,
                 VEC_length (ipa_ref_t, list->references) + 1);
   ref = VEC_last (ipa_ref_t, list->references);
 
-  list2 = (refered_node ? &refered_node->symbol.ref_list
-          : &refered_varpool_node->symbol.ref_list);
-  VEC_safe_push (ipa_ref_ptr, heap, list2->refering, ref);
-  ref->refered_index = VEC_length (ipa_ref_ptr, list2->refering) - 1;
-  if (refering_node)
-    {
-      ref->refering.cgraph_node = refering_node;
-      ref->refering_type = IPA_REF_CGRAPH;
-    }
-  else
-    {
-      ref->refering.varpool_node = refering_varpool_node;
-      ref->refering_type = IPA_REF_VARPOOL;
-      gcc_assert (use_type == IPA_REF_ADDR || use_type == IPA_REF_ALIAS);
-    }
-  if (refered_node)
-    {
-      ref->refered.cgraph_node = refered_node;
-      ref->refered_type = IPA_REF_CGRAPH;
-      gcc_assert (use_type == IPA_REF_ADDR || use_type == IPA_REF_ALIAS);
-    }
-  else
-    {
-      varpool_mark_needed_node (refered_varpool_node);
-      ref->refered.varpool_node = refered_varpool_node;
-      ref->refered_type = IPA_REF_VARPOOL;
-    }
+  list2 = &referred_node->symbol.ref_list;
+  VEC_safe_push (ipa_ref_ptr, heap, list2->referring, ref);
+  ref->referred_index = VEC_length (ipa_ref_ptr, list2->referring) - 1;
+  ref->referring = referring_node;
+  ref->referred = referred_node;
   ref->stmt = stmt;
   ref->use = use_type;
 
@@ -91,8 +65,8 @@ ipa_record_reference (struct cgraph_node *refering_node,
       int i;
       for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++)
        VEC_replace (ipa_ref_ptr,
-                    ipa_ref_refered_ref_list (ref)->refering,
-                    ref->refered_index, ref);
+                    ipa_ref_referred_ref_list (ref)->referring,
+                    ref->referred_index, ref);
     }
   return ref;
 }
@@ -102,30 +76,30 @@ ipa_record_reference (struct cgraph_node *refering_node,
 void
 ipa_remove_reference (struct ipa_ref *ref)
 {
-  struct ipa_ref_list *list = ipa_ref_refered_ref_list (ref);
-  struct ipa_ref_list *list2 = ipa_ref_refering_ref_list (ref);
+  struct ipa_ref_list *list = ipa_ref_referred_ref_list (ref);
+  struct ipa_ref_list *list2 = ipa_ref_referring_ref_list (ref);
   VEC(ipa_ref_t,gc) *old_references = list2->references;
   struct ipa_ref *last;
 
-  gcc_assert (VEC_index (ipa_ref_ptr, list->refering, ref->refered_index) == ref);
-  last = VEC_last (ipa_ref_ptr, list->refering);
+  gcc_assert (VEC_index (ipa_ref_ptr, list->referring, ref->referred_index) == ref);
+  last = VEC_last (ipa_ref_ptr, list->referring);
   if (ref != last)
     {
-      VEC_replace (ipa_ref_ptr, list->refering,
-                  ref->refered_index,
-                  VEC_last (ipa_ref_ptr, list->refering));
-      VEC_index (ipa_ref_ptr, list->refering,
-                ref->refered_index)->refered_index = ref->refered_index;
+      VEC_replace (ipa_ref_ptr, list->referring,
+                  ref->referred_index,
+                  VEC_last (ipa_ref_ptr, list->referring));
+      VEC_index (ipa_ref_ptr, list->referring,
+                ref->referred_index)->referred_index = ref->referred_index;
     }
-  VEC_pop (ipa_ref_ptr, list->refering);
+  VEC_pop (ipa_ref_ptr, list->referring);
 
   last = VEC_last (ipa_ref_t, list2->references);
   if (ref != last)
     {
       *ref = *last;
       VEC_replace (ipa_ref_ptr,
-                  ipa_ref_refered_ref_list (ref)->refering,
-                  ref->refered_index, ref);
+                  ipa_ref_referred_ref_list (ref)->referring,
+                  ref->referred_index, ref);
     }
   VEC_pop (ipa_ref_t, list2->references);
   gcc_assert (list2->references == old_references);
@@ -145,12 +119,12 @@ ipa_remove_all_references (struct ipa_ref_list *list)
 /* Remove all references in ref list LIST.  */
 
 void
-ipa_remove_all_refering (struct ipa_ref_list *list)
+ipa_remove_all_referring (struct ipa_ref_list *list)
 {
-  while (VEC_length (ipa_ref_ptr, list->refering))
-    ipa_remove_reference (VEC_last (ipa_ref_ptr, list->refering));
-  VEC_free (ipa_ref_ptr, heap, list->refering);
-  list->refering = NULL;
+  while (VEC_length (ipa_ref_ptr, list->referring))
+    ipa_remove_reference (VEC_last (ipa_ref_ptr, list->referring));
+  VEC_free (ipa_ref_ptr, heap, list->referring);
+  list->referring = NULL;
 }
 
 /* Dump references in LIST to FILE.  */
@@ -162,38 +136,27 @@ ipa_dump_references (FILE * file, struct ipa_ref_list *list)
   int i;
   for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++)
     {
-      if (ref->refered_type == IPA_REF_CGRAPH)
-       {
-         fprintf (file, " fn:%s/%i (%s)", cgraph_node_asm_name (ipa_ref_node (ref)),
-                  ipa_ref_node (ref)->symbol.order,
-                  ipa_ref_use_name [ref->use]);
-       }
-      else
-       fprintf (file, " var:%s (%s)",
-                varpool_node_asm_name (ipa_ref_varpool_node (ref)),
-                ipa_ref_use_name [ref->use]);
+      fprintf (file, "%s/%i (%s)",
+               symtab_node_asm_name (ref->referred),
+               ref->referred->symbol.order,
+              ipa_ref_use_name [ref->use]);
     }
   fprintf (file, "\n");
 }
 
-/* Dump refering in LIST to FILE.  */
+/* Dump referring in LIST to FILE.  */
 
 void
-ipa_dump_refering (FILE * file, struct ipa_ref_list *list)
+ipa_dump_referring (FILE * file, struct ipa_ref_list *list)
 {
   struct ipa_ref *ref;
   int i;
-  for (i = 0; ipa_ref_list_refering_iterate (list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (list, i, ref); i++)
     {
-      if (ref->refering_type == IPA_REF_CGRAPH)
-       fprintf (file, " fn:%s/%i (%s)",
-                cgraph_node_asm_name (ipa_ref_refering_node (ref)),
-                ipa_ref_refering_node (ref)->symbol.order,
-                ipa_ref_use_name [ref->use]);
-      else
-       fprintf (file, " var:%s (%s)",
-                varpool_node_asm_name (ipa_ref_refering_varpool_node (ref)),
-                ipa_ref_use_name [ref->use]);
+      fprintf (file, "%s/%i (%s)",
+               symtab_node_asm_name (ref->referring),
+               ref->referring->symbol.order,
+              ipa_ref_use_name [ref->use]);
     }
   fprintf (file, "\n");
 }
@@ -201,46 +164,37 @@ ipa_dump_refering (FILE * file, struct ipa_ref_list *list)
 /* Clone all references from SRC to DEST_NODE or DEST_VARPOOL_NODE.  */
 
 void
-ipa_clone_references (struct cgraph_node *dest_node,
-                     struct varpool_node *dest_varpool_node,
+ipa_clone_references (symtab_node dest_node,
                      struct ipa_ref_list *src)
 {
   struct ipa_ref *ref;
   int i;
   for (i = 0; ipa_ref_list_reference_iterate (src, i, ref); i++)
-    ipa_record_reference (dest_node, dest_varpool_node,
-                         ref->refered_type == IPA_REF_CGRAPH
-                         ? ipa_ref_node (ref) : NULL,
-                         ref->refered_type == IPA_REF_VARPOOL
-                         ? ipa_ref_varpool_node (ref) : NULL,
+    ipa_record_reference (dest_node,
+                         ref->referred,
                          ref->use, ref->stmt);
 }
 
-/* Clone all refering from SRC to DEST_NODE or DEST_VARPOOL_NODE.  */
+/* Clone all referring from SRC to DEST_NODE or DEST_VARPOOL_NODE.  */
 
 void
-ipa_clone_refering (struct cgraph_node *dest_node,
-                   struct varpool_node *dest_varpool_node,
+ipa_clone_referring (symtab_node dest_node,
                    struct ipa_ref_list *src)
 {
   struct ipa_ref *ref;
   int i;
-  for (i = 0; ipa_ref_list_refering_iterate (src, i, ref); i++)
-    ipa_record_reference (
-                         ref->refering_type == IPA_REF_CGRAPH
-                         ? ipa_ref_refering_node (ref) : NULL,
-                         ref->refering_type == IPA_REF_VARPOOL
-                         ? ipa_ref_refering_varpool_node (ref) : NULL,
-                         dest_node, dest_varpool_node,
+  for (i = 0; ipa_ref_list_referring_iterate (src, i, ref); i++)
+    ipa_record_reference (ref->referring,
+                         dest_node,
                          ref->use, ref->stmt);
 }
 
-/* Return true when execution of REF can load to return from
+/* Return true when execution of REF can lead to return from
    function. */
 bool
 ipa_ref_cannot_lead_to_return (struct ipa_ref *ref)
 {
-  return cgraph_node_cannot_return (ipa_ref_refering_node (ref));
+  return cgraph_node_cannot_return (ipa_ref_referring_node (ref));
 }
 
 /* Return true if list contains an alias.  */
@@ -249,7 +203,7 @@ ipa_ref_has_aliases_p (struct ipa_ref_list *ref_list)
 {
   struct ipa_ref *ref;
   int i;
-  for (i = 0; ipa_ref_list_refering_iterate (ref_list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (ref_list, i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       return true;
   return false;
index 2fdb6ba4158f1ff7ae33de01fb5a86c537f40bb0..96750ba50f61d962b294be64b51dd792781272b9 100644 (file)
@@ -21,6 +21,10 @@ along with GCC; see the file COPYING3.  If not see
 
 struct cgraph_node;
 struct varpool_node;
+union symtab_node_def;
+typedef union symtab_node_def *symtab_node;
+typedef const union symtab_node_def *const_symtab_node;
+
 
 /* How the reference is done.  */
 enum GTY(()) ipa_ref_use
@@ -31,30 +35,13 @@ enum GTY(()) ipa_ref_use
   IPA_REF_ALIAS
 };
 
-/* Type of refering or refered type.  */
-enum GTY(()) ipa_ref_type
-{
-  IPA_REF_CGRAPH,
-  IPA_REF_VARPOOL
-};
-
-/* We can have references spanning both callgraph and varpool,
-   so all pointers needs to be of both types.  */
-union GTY(()) ipa_ref_ptr_u
-{
-  struct cgraph_node * GTY((tag ("IPA_REF_CGRAPH"))) cgraph_node;
-  struct varpool_node * GTY((tag ("IPA_REF_VARPOOL"))) varpool_node;
-};
-
 /* Record of reference in callgraph or varpool.  */
 struct GTY(()) ipa_ref
 {
-  union ipa_ref_ptr_u GTY ((desc ("%1.refering_type"))) refering;
-  union ipa_ref_ptr_u GTY ((desc ("%1.refered_type"))) refered;
+  symtab_node referring;
+  symtab_node referred;
   gimple stmt;
-  unsigned int refered_index;
-  ENUM_BITFIELD (ipa_ref_type) refering_type:1;
-  ENUM_BITFIELD (ipa_ref_type) refered_type:1;
+  unsigned int referred_index;
   ENUM_BITFIELD (ipa_ref_use) use:2;
 };
 
@@ -73,21 +60,19 @@ struct GTY(()) ipa_ref_list
   VEC(ipa_ref_t,gc) *references;
   /* Refering is vector of pointers to references.  It must not live in GGC space
      or GGC will try to mark middle of references vectors.  */
-  VEC(ipa_ref_ptr,heap) * GTY((skip)) refering;
+  VEC(ipa_ref_ptr,heap) * GTY((skip)) referring;
 };
 
-struct ipa_ref * ipa_record_reference (struct cgraph_node *,
-                                      struct varpool_node *,
-                                      struct cgraph_node *,
-                                      struct varpool_node *,
+struct ipa_ref * ipa_record_reference (symtab_node,
+                                      symtab_node,
                                       enum ipa_ref_use, gimple);
 
 void ipa_remove_reference (struct ipa_ref *);
 void ipa_remove_all_references (struct ipa_ref_list *);
-void ipa_remove_all_refering (struct ipa_ref_list *);
+void ipa_remove_all_referring (struct ipa_ref_list *);
 void ipa_dump_references (FILE *, struct ipa_ref_list *);
-void ipa_dump_refering (FILE *, struct ipa_ref_list *);
-void ipa_clone_references (struct cgraph_node *, struct varpool_node *, struct ipa_ref_list *);
-void ipa_clone_refering (struct cgraph_node *, struct varpool_node *, struct ipa_ref_list *);
+void ipa_dump_referring (FILE *, struct ipa_ref_list *);
+void ipa_clone_references (symtab_node, struct ipa_ref_list *);
+void ipa_clone_referring (symtab_node, struct ipa_ref_list *);
 bool ipa_ref_cannot_lead_to_return (struct ipa_ref *);
 bool ipa_ref_has_aliases_p (struct ipa_ref_list *);
index faf3a20ca83a3bcd817ab5108bce5717d5e14983..41957345bb097028adc24ad377674c94f2ca135e 100644 (file)
@@ -435,7 +435,7 @@ analyze_function (struct cgraph_node *fn)
   local = init_function_info (fn);
   for (i = 0; ipa_ref_list_reference_iterate (&fn->symbol.ref_list, i, ref); i++)
     {
-      if (ref->refered_type != IPA_REF_VARPOOL)
+      if (!symtab_variable_p (ref->referred))
        continue;
       var = ipa_ref_varpool_node (ref)->symbol.decl;
       if (ipa_ref_varpool_node (ref)->symbol.externally_visible
index db0784db550623ea063eafebb702fb490312759c..e22977a07076f47fd4e49693383649ed30c4da1c 100644 (file)
@@ -295,13 +295,13 @@ ipa_reverse_postorder (struct cgraph_node **order)
                            (cgraph_function_node (edge->callee, NULL)->symbol.decl))
                        node2 = NULL;
                    }
-                 for (;ipa_ref_list_refering_iterate (&stack[stack_size].node->symbol.ref_list,
+                 for (;ipa_ref_list_referring_iterate (&stack[stack_size].node->symbol.ref_list,
                                                       stack[stack_size].ref,
                                                       ref) && !node2;
                       stack[stack_size].ref++)
                    {
                      if (ref->use == IPA_REF_ALIAS)
-                       node2 = ipa_ref_refering_node (ref);
+                       node2 = ipa_ref_referring_node (ref);
                    }
                  if (!node2)
                    break;
index 51a1dc0ce2fe970329f6b5e9e57b49d6fdb53434..874156275a879abe620ec6e6b19ec6d799bb1d59 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -91,7 +91,7 @@ process_references (struct ipa_ref_list *list,
   struct ipa_ref *ref;
   for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++)
     {
-      if (ref->refered_type == IPA_REF_CGRAPH)
+      if (symtab_function_p (ref->referred))
        {
          struct cgraph_node *node = ipa_ref_node (ref);
          if (!node->reachable
@@ -154,7 +154,7 @@ has_addr_references_p (struct cgraph_node *node,
   int i;
   struct ipa_ref *ref;
 
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list,
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list,
                                             i, ref); i++)
     if (ref->use == IPA_REF_ADDR)
       return true;
@@ -352,14 +352,14 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
          for (e = node->callers; e && !found; e = e->next_caller)
            if (e->caller->reachable)
              found = true;
-         for (i = 0; (ipa_ref_list_refering_iterate (&node->symbol.ref_list,
+         for (i = 0; (ipa_ref_list_referring_iterate (&node->symbol.ref_list,
                                                      i, ref)
                       && !found); i++)
-           if (ref->refering_type == IPA_REF_CGRAPH
-               && ipa_ref_refering_node (ref)->reachable)
+           if (symtab_function_p (ref->referring)
+               && ipa_ref_referring_node (ref)->reachable)
              found = true;
-           else if (ref->refering_type == IPA_REF_VARPOOL
-                    && ipa_ref_refering_varpool_node (ref)->needed)
+           else if (symtab_variable_p (ref->referring)
+                    && ipa_ref_referring_varpool_node (ref)->needed)
              found = true;
 
          /* If so, we need to keep node in the callgraph.  */
@@ -501,7 +501,7 @@ ipa_discover_readonly_nonaddressable_vars (void)
        bool address_taken = false;
        int i;
         struct ipa_ref *ref;
-        for (i = 0; ipa_ref_list_refering_iterate (&vnode->symbol.ref_list,
+        for (i = 0; ipa_ref_list_referring_iterate (&vnode->symbol.ref_list,
                                                   i, ref)
                    && (!written || !address_taken); i++)
          switch (ref->use)
@@ -542,14 +542,14 @@ cgraph_address_taken_from_non_vtable_p (struct cgraph_node *node)
 {
   int i;
   struct ipa_ref *ref;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list,
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list,
                                             i, ref); i++)
     if (ref->use == IPA_REF_ADDR)
       {
        struct varpool_node *node;
-       if (ref->refering_type == IPA_REF_CGRAPH)
+       if (symtab_function_p (ref->referring))
          return true;
-       node = ipa_ref_refering_varpool_node (ref);
+       node = ipa_ref_referring_varpool_node (ref);
        if (!DECL_VIRTUAL_P (node->symbol.decl))
          return true;
       }
index 52cbbca43dbdfa672c53d231049656bffba329c9..4c4b00118f4ba790db98acce7af8d8e5a011c12c 100644 (file)
@@ -1764,7 +1764,7 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
-  /* MEMs refering to different address space are not equivalent.  */
+  /* MEMs referring to different address space are not equivalent.  */
   if (code == MEM && MEM_ADDR_SPACE (x) != MEM_ADDR_SPACE (y))
     return 0;
 
index e6365b46ce822f2e2bcab294e3f7208d3e594d54..18152a8af06b8c820f13d87ca24b46a02e54b4c5 100644 (file)
@@ -326,18 +326,18 @@ referenced_from_other_partition_p (struct ipa_ref_list *list, cgraph_node_set se
 {
   int i;
   struct ipa_ref *ref;
-  for (i = 0; ipa_ref_list_refering_iterate (list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (list, i, ref); i++)
     {
-      if (ref->refering_type == IPA_REF_CGRAPH)
+      if (symtab_function_p (ref->referring))
        {
-         if (ipa_ref_refering_node (ref)->symbol.in_other_partition
-             || !cgraph_node_in_set_p (ipa_ref_refering_node (ref), set))
+         if (ipa_ref_referring_node (ref)->symbol.in_other_partition
+             || !cgraph_node_in_set_p (ipa_ref_referring_node (ref), set))
            return true;
        }
       else
        {
-         if (ipa_ref_refering_varpool_node (ref)->symbol.in_other_partition
-             || !varpool_node_in_set_p (ipa_ref_refering_varpool_node (ref),
+         if (ipa_ref_referring_varpool_node (ref)->symbol.in_other_partition
+             || !varpool_node_in_set_p (ipa_ref_referring_varpool_node (ref),
                                         vset))
            return true;
        }
@@ -370,16 +370,16 @@ referenced_from_this_partition_p (struct ipa_ref_list *list, cgraph_node_set set
 {
   int i;
   struct ipa_ref *ref;
-  for (i = 0; ipa_ref_list_refering_iterate (list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (list, i, ref); i++)
     {
-      if (ref->refering_type == IPA_REF_CGRAPH)
+      if (symtab_function_p (ref->referring))
        {
-         if (cgraph_node_in_set_p (ipa_ref_refering_node (ref), set))
+         if (cgraph_node_in_set_p (ipa_ref_referring_node (ref), set))
            return true;
        }
       else
        {
-         if (varpool_node_in_set_p (ipa_ref_refering_varpool_node (ref),
+         if (varpool_node_in_set_p (ipa_ref_referring_varpool_node (ref),
                                     vset))
            return true;
        }
@@ -614,10 +614,10 @@ lto_output_ref (struct lto_simple_output_block *ob, struct ipa_ref *ref,
 {
   struct bitpack_d bp;
   bp = bitpack_create (ob->main_stream);
-  bp_pack_value (&bp, ref->refered_type, 1);
+  bp_pack_value (&bp, symtab_function_p (ref->referred), 1);
   bp_pack_value (&bp, ref->use, 2);
   streamer_write_bitpack (&bp);
-  if (ref->refered_type == IPA_REF_CGRAPH)
+  if (symtab_function_p (ref->referred))
     {
       int nref = lto_cgraph_encoder_lookup (encoder, ipa_ref_node (ref));
       gcc_assert (nref != LCC_NOT_FOUND);
@@ -674,7 +674,7 @@ add_references (lto_cgraph_encoder_t encoder,
   int i;
   struct ipa_ref *ref;
   for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++)
-    if (ref->refered_type == IPA_REF_CGRAPH)
+    if (symtab_function_p (ref->referred))
       add_node_to (encoder, ipa_ref_node (ref), false);
     else
       {
@@ -1108,27 +1108,26 @@ input_varpool_node (struct lto_file_decl_data *file_data,
 
 static void
 input_ref (struct lto_input_block *ib,
-          struct cgraph_node *refering_node,
-          struct varpool_node *refering_varpool_node,
+          symtab_node referring_node,
           VEC(cgraph_node_ptr, heap) *nodes,
           VEC(varpool_node_ptr, heap) *varpool_nodes_vec)
 {
   struct cgraph_node *node = NULL;
   struct varpool_node *varpool_node = NULL;
   struct bitpack_d bp;
-  enum ipa_ref_type type;
+  int type;
   enum ipa_ref_use use;
 
   bp = streamer_read_bitpack (ib);
-  type = (enum ipa_ref_type) bp_unpack_value (&bp, 1);
+  type = bp_unpack_value (&bp, 1);
   use = (enum ipa_ref_use) bp_unpack_value (&bp, 2);
-  if (type == IPA_REF_CGRAPH)
+  if (type)
     node = VEC_index (cgraph_node_ptr, nodes, streamer_read_hwi (ib));
   else
     varpool_node = VEC_index (varpool_node_ptr, varpool_nodes_vec,
                              streamer_read_hwi (ib));
-  ipa_record_reference (refering_node, refering_varpool_node,
-                       node, varpool_node, use, NULL);
+  ipa_record_reference (referring_node,
+                       node ? (symtab_node) node : (symtab_node) varpool_node, use, NULL);
 }
 
 /* Read an edge from IB.  NODES points to a vector of previously read nodes for
@@ -1324,7 +1323,7 @@ input_refs (struct lto_input_block *ib,
       node = VEC_index (cgraph_node_ptr, nodes, idx);
       while (count)
        {
-         input_ref (ib, node, NULL, nodes, varpool);
+         input_ref (ib, (symtab_node) node, nodes, varpool);
          count--;
        }
     }
@@ -1338,7 +1337,7 @@ input_refs (struct lto_input_block *ib,
                        streamer_read_uhwi (ib));
       while (count)
        {
-         input_ref (ib, NULL, node, nodes, varpool);
+         input_ref (ib, (symtab_node) node, nodes, varpool);
          count--;
        }
     }
index 406bc239471b14a5c12e5fad3d8a202a7f03d474..bbb9d1b558d8b3c14a5a9fcd839d4657d28711ad 100644 (file)
@@ -249,7 +249,7 @@ lto_cgraph_replace_node (struct cgraph_node *node,
        e->call_stmt_cannot_inline_p = 1;
     }
   /* Redirect incomming references.  */
-  ipa_clone_refering (prevailing_node, NULL, &node->symbol.ref_list);
+  ipa_clone_referring ((symtab_node)prevailing_node, &node->symbol.ref_list);
 
   /* Finally remove the replaced node.  */
   cgraph_remove_node (node);
@@ -271,7 +271,7 @@ lto_varpool_replace_node (struct varpool_node *vnode,
   gcc_assert (!vnode->finalized || prevailing_node->finalized);
   gcc_assert (!vnode->analyzed || prevailing_node->analyzed);
 
-  ipa_clone_refering (NULL, prevailing_node, &vnode->symbol.ref_list);
+  ipa_clone_referring ((symtab_node)prevailing_node, &vnode->symbol.ref_list);
 
   /* Be sure we can garbage collect the initializer.  */
   if (DECL_INITIAL (vnode->symbol.decl))
index bab0a77420d7aeb67fccc0acf5406bf2246ab6cc..96a8c9755e1f349f252a35638ce94ad0dcd26d7f 100644 (file)
@@ -1,3 +1,8 @@
+2012-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (add_references_to_partition, lto_balanced_map):
+       Update for new ipa-ref API.
+
 2012-04-16  Jan Hubicka  <jh@suse.cz>
 
        * lto.c (read_cgraph_and_symbols): Use FOR_EACH
index 1e6046218a4f36dd0110635e7e2da32266931f8f..6fe672f2401d3fd65bcddceaa58854c616f49d2d 100644 (file)
@@ -72,7 +72,7 @@ add_references_to_partition (ltrans_partition part, struct ipa_ref_list *refs)
   struct ipa_ref *ref;
   for (i = 0; ipa_ref_list_reference_iterate (refs, i, ref); i++)
     {
-      if (ref->refered_type == IPA_REF_CGRAPH
+      if (symtab_function_p (ref->referred)
          && (DECL_COMDAT (cgraph_function_node (ipa_ref_node (ref),
                           NULL)->symbol.decl)
              || (ref->use == IPA_REF_ALIAS
@@ -81,7 +81,7 @@ add_references_to_partition (ltrans_partition part, struct ipa_ref_list *refs)
          && !cgraph_node_in_set_p (ipa_ref_node (ref), part->cgraph_set))
        add_cgraph_node_to_partition (part, ipa_ref_node (ref));
       else
-       if (ref->refered_type == IPA_REF_VARPOOL
+        if (symtab_variable_p (ref->referred)
            && (DECL_COMDAT (ipa_ref_varpool_node (ref)->symbol.decl)
                || (ref->use == IPA_REF_ALIAS
                    && lookup_attribute
@@ -91,26 +91,26 @@ add_references_to_partition (ltrans_partition part, struct ipa_ref_list *refs)
                                       part->varpool_set))
          add_varpool_node_to_partition (part, ipa_ref_varpool_node (ref));
     }
-  for (i = 0; ipa_ref_list_refering_iterate (refs, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (refs, i, ref); i++)
     {
-      if (ref->refering_type == IPA_REF_CGRAPH
+      if (symtab_function_p (ref->referring)
          && ref->use == IPA_REF_ALIAS
-         && !cgraph_node_in_set_p (ipa_ref_refering_node (ref),
+         && !cgraph_node_in_set_p (ipa_ref_referring_node (ref),
                                    part->cgraph_set)
          && !lookup_attribute ("weakref",
                                DECL_ATTRIBUTES
-                                 (ipa_ref_refering_node (ref)->symbol.decl)))
-       add_cgraph_node_to_partition (part, ipa_ref_refering_node (ref));
+                                 (ipa_ref_referring_node (ref)->symbol.decl)))
+       add_cgraph_node_to_partition (part, ipa_ref_referring_node (ref));
       else
-       if (ref->refering_type == IPA_REF_VARPOOL
+        if (symtab_variable_p (ref->referring)
            && ref->use == IPA_REF_ALIAS
-           && !varpool_node_in_set_p (ipa_ref_refering_varpool_node (ref),
+           && !varpool_node_in_set_p (ipa_ref_referring_varpool_node (ref),
                                       part->varpool_set)
            && !lookup_attribute ("weakref",
                                  DECL_ATTRIBUTES
-                                   (ipa_ref_refering_varpool_node (ref)->symbol.decl)))
+                                   (ipa_ref_referring_varpool_node (ref)->symbol.decl)))
          add_varpool_node_to_partition (part,
-                                        ipa_ref_refering_varpool_node (ref));
+                                        ipa_ref_referring_varpool_node (ref));
     }
 }
 
@@ -612,7 +612,7 @@ lto_balanced_map (void)
          /* Compute boundary cost of IPA REF edges and at the same time look into
             variables referenced from current partition and try to add them.  */
          for (j = 0; ipa_ref_list_reference_iterate (refs, j, ref); j++)
-           if (ref->refered_type == IPA_REF_VARPOOL)
+           if (symtab_variable_p (ref->referred))
              {
                varpool_node_set_iterator vsi;
 
@@ -643,12 +643,12 @@ lto_balanced_map (void)
                else
                  cost++;
              }
-         for (j = 0; ipa_ref_list_refering_iterate (refs, j, ref); j++)
-           if (ref->refering_type == IPA_REF_VARPOOL)
+         for (j = 0; ipa_ref_list_referring_iterate (refs, j, ref); j++)
+           if (symtab_variable_p (ref->referring))
              {
                varpool_node_set_iterator vsi;
 
-               vnode = ipa_ref_refering_varpool_node (ref);
+               vnode = ipa_ref_referring_varpool_node (ref);
                gcc_assert (vnode->finalized);
                if (!vnode->symbol.aux && flag_toplevel_reorder
                    && partition_varpool_node_p (vnode))
@@ -664,7 +664,7 @@ lto_balanced_map (void)
              {
                cgraph_node_set_iterator csi;
 
-               node = ipa_ref_refering_node (ref);
+               node = ipa_ref_referring_node (ref);
                gcc_assert (node->analyzed);
                csi = cgraph_node_set_find (partition->cgraph_set, node);
                if (!csi_end_p (csi)
@@ -876,7 +876,7 @@ lto_promote_cross_file_statics (void)
               ipa_ref_list_reference_iterate (&vnode->symbol.ref_list, i, ref);
               i++)
            {
-             if (ref->refered_type == IPA_REF_CGRAPH)
+             if (symtab_function_p (ref->referred))
                {
                  struct cgraph_node *n = ipa_ref_node (ref);
                  gcc_assert (!n->global.inlined_to);
index 8420c80807375f7e9bb4b9d5ffa1c722ba97eccf..6994e0d8b9b3225f68a0e4d9c6ac02c1fadc17eb 100644 (file)
@@ -2258,7 +2258,7 @@ operands_match_p (rtx x, rtx y)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
-  /* MEMs refering to different address space are not equivalent.  */
+  /* MEMs referring to different address space are not equivalent.  */
   if (code == MEM && MEM_ADDR_SPACE (x) != MEM_ADDR_SPACE (y))
     return 0;
 
index 4fa37194c072ffc62390196e2ba64d686e0df7f5..9ca6da2c1f60ad212a9a7ee09f1b95a12fcefc89 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -381,7 +381,7 @@ rtx_equal_p_cb (const_rtx x, const_rtx y, rtx_equal_p_callback_function cb)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
-  /* MEMs refering to different address space are not equivalent.  */
+  /* MEMs referring to different address space are not equivalent.  */
   if (code == MEM && MEM_ADDR_SPACE (x) != MEM_ADDR_SPACE (y))
     return 0;
 
@@ -520,7 +520,7 @@ rtx_equal_p (const_rtx x, const_rtx y)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
-  /* MEMs refering to different address space are not equivalent.  */
+  /* MEMs referring to different address space are not equivalent.  */
   if (code == MEM && MEM_ADDR_SPACE (x) != MEM_ADDR_SPACE (y))
     return 0;
 
index 858264b7a03d70347a130babc590d50eb2227c53..78365bdb9e1939dd9770f7123c95f21b99ff576d 100644 (file)
@@ -3981,7 +3981,7 @@ nonzero_bits1 (const_rtx x, enum machine_mode mode, const_rtx known_x,
 #if defined(POINTERS_EXTEND_UNSIGNED) && !defined(HAVE_ptr_extend)
       /* If pointers extend unsigned and this is a pointer in Pmode, say that
         all the bits above ptr_mode are known to be zero.  */
-      /* As we do not know which address space the pointer is refering to,
+      /* As we do not know which address space the pointer is referring to,
         we can do this only if the target does not support different pointer
         or address modes depending on the address space.  */
       if (target_default_pointer_address_modes_p ()
@@ -4491,7 +4491,7 @@ num_sign_bit_copies1 (const_rtx x, enum machine_mode mode, const_rtx known_x,
 #if defined(POINTERS_EXTEND_UNSIGNED) && !defined(HAVE_ptr_extend)
       /* If pointers extend signed and this is a pointer in Pmode, say that
         all the bits above ptr_mode are known to be sign bit copies.  */
-      /* As we do not know which address space the pointer is refering to,
+      /* As we do not know which address space the pointer is referring to,
         we can do this only if the target does not support different pointer
         or address modes depending on the address space.  */
       if (target_default_pointer_address_modes_p ()
index 1d82a375673a1c17e393a822a188b29d8f6fa2fe..3357ceb1024e016c212ff5b70575fc6721c63ac0 100644 (file)
@@ -1140,7 +1140,7 @@ simplify_unary_operation_1 (enum rtx_code code, enum machine_mode mode, rtx op)
        }
 
 #if defined(POINTERS_EXTEND_UNSIGNED) && !defined(HAVE_ptr_extend)
-      /* As we do not know which address space the pointer is refering to,
+      /* As we do not know which address space the pointer is referring to,
         we can do this only if the target does not support different pointer
         or address modes depending on the address space.  */
       if (target_default_pointer_address_modes_p ()
@@ -1233,7 +1233,7 @@ simplify_unary_operation_1 (enum rtx_code code, enum machine_mode mode, rtx op)
        }
 
 #if defined(POINTERS_EXTEND_UNSIGNED) && !defined(HAVE_ptr_extend)
-      /* As we do not know which address space the pointer is refering to,
+      /* As we do not know which address space the pointer is referring to,
         we can do this only if the target does not support different pointer
         or address modes depending on the address space.  */
       if (target_default_pointer_address_modes_p ()
index 5577cb2b189e33d5ed6b447f708f263679833ee9..58e11af0169815ecedc6e0b536aff5c0d6bff42d 100644 (file)
@@ -191,7 +191,7 @@ symtab_unregister_node (symtab_node node)
 {
   void **slot;
   ipa_remove_all_references (&node->symbol.ref_list);
-  ipa_remove_all_refering (&node->symbol.ref_list);
+  ipa_remove_all_referring (&node->symbol.ref_list);
 
   if (node->symbol.same_comdat_group)
     {
@@ -429,8 +429,8 @@ dump_symtab_base (FILE *f, symtab_node node)
 
   fprintf (f, "  References: ");
   ipa_dump_references (f, &node->symbol.ref_list);
-  fprintf (f, "  Refering: ");
-  ipa_dump_refering (f, &node->symbol.ref_list);
+  fprintf (f, "  Referring: ");
+  ipa_dump_referring (f, &node->symbol.ref_list);
 }
 
 /* Dump symtab node.  */
index 97b4b3bbe51eaa1d9b082f0780e2e100bd996591..2a435856d8b89e5dc721910c42bcb0b48a3f96e6 100644 (file)
@@ -4931,9 +4931,9 @@ ipa_tm_execute (void)
        }
 
       /* Propagate back to referring aliases as well.  */
-      for (j = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list, j, ref); j++)
+      for (j = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list, j, ref); j++)
        {
-         caller = ref->refering.cgraph_node;
+         caller = cgraph (ref->referring);
          if (ref->use == IPA_REF_ALIAS
              && !caller->local.tm_may_enter_irr)
            {
index 185d9f7728b88dc8a03c4274a27c84759fdc5cb9..92b7d81e257a55c750168ffdc7c22e95b8bed8d8 100644 (file)
@@ -446,7 +446,7 @@ gen_emutls_addr (tree decl, struct lower_emutls_data *d)
 
       /* We may be adding a new reference to a new variable to the function.
          This means we have to play with the ipa-reference web.  */
-      ipa_record_reference (d->cfun_node, NULL, NULL, cvar, IPA_REF_ADDR, x);
+      ipa_record_reference ((symtab_node)d->cfun_node, (symtab_node)cvar, IPA_REF_ADDR, x);
 
       /* Record this ssa_name for possible use later in the basic block.  */
       VEC_replace (tree, access_vars, index, addr);
index dd90432b920633671eedeae593eb90d92d960a25..4a859eb9f8a89824d106c8a3d30af01b25390ab9 100644 (file)
@@ -1010,7 +1010,7 @@ refs_may_alias_p_1 (ao_ref *ref1, ao_ref *ref2, bool tbaa_p)
       || CONSTANT_CLASS_P (base2))
     return false;
 
-  /* We can end up refering to code via function and label decls.
+  /* We can end up referring to code via function and label decls.
      As we likely do not properly track code aliases conservatively
      bail out.  */
   if (TREE_CODE (base1) == FUNCTION_DECL
index 27639935d9d8ec6191867a07439146f2f062e169..5748effc04f5d8def9b9b88e9fccd010024b0741 100644 (file)
@@ -380,7 +380,7 @@ varpool_analyze_pending_decls (void)
                continue;
              }
          if (!VEC_length (ipa_ref_t, node->symbol.ref_list.references))
-           ipa_record_reference (NULL, node, NULL, tgt, IPA_REF_ALIAS, NULL);
+           ipa_record_reference ((symtab_node)node, (symtab_node)tgt, IPA_REF_ALIAS, NULL);
          /* C++ FE sometimes change linkage flags after producing same body aliases.  */
          if (node->extra_name_alias)
            {
@@ -433,10 +433,10 @@ assemble_aliases (struct varpool_node *node)
 {
   int i;
   struct ipa_ref *ref;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list, i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct varpool_node *alias = ipa_ref_refering_varpool_node (ref);
+       struct varpool_node *alias = ipa_ref_referring_varpool_node (ref);
        assemble_alias (alias->symbol.decl,
                        DECL_ASSEMBLER_NAME (alias->alias_of));
        assemble_aliases (alias);
@@ -676,10 +676,10 @@ varpool_for_node_and_aliases (struct varpool_node *node,
 
   if (callback (node, data))
     return true;
-  for (i = 0; ipa_ref_list_refering_iterate (&node->symbol.ref_list, i, ref); i++)
+  for (i = 0; ipa_ref_list_referring_iterate (&node->symbol.ref_list, i, ref); i++)
     if (ref->use == IPA_REF_ALIAS)
       {
-       struct varpool_node *alias = ipa_ref_refering_varpool_node (ref);
+       struct varpool_node *alias = ipa_ref_referring_varpool_node (ref);
        if (include_overwritable
            || cgraph_variable_initializer_availability (alias) > AVAIL_OVERWRITABLE)
           if (varpool_for_node_and_aliases (alias, callback, data,