summaryrefslogtreecommitdiff
path: root/gcc/tree-emutls.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/tree-emutls.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/tree-emutls.c')
-rw-r--r--gcc/tree-emutls.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index abf5657ab9d..cd9630f39c7 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -338,7 +338,7 @@ new_emutls_decl (tree decl, tree alias_of)
else
varpool_create_variable_alias (to,
varpool_node_for_asm
- (DECL_ASSEMBLER_NAME (alias_of))->decl);
+ (DECL_ASSEMBLER_NAME (alias_of))->symbol.decl);
return to;
}
@@ -366,7 +366,7 @@ emutls_decl (tree decl)
i = emutls_index (decl);
var = VEC_index (varpool_node_ptr, control_vars, i);
- return var->decl;
+ return var->symbol.decl;
}
/* Generate a call statement to initialize CONTROL_DECL for TLS_DECL.
@@ -428,7 +428,7 @@ gen_emutls_addr (tree decl, struct lower_emutls_data *d)
gimple x;
cvar = VEC_index (varpool_node_ptr, control_vars, index);
- cdecl = cvar->decl;
+ cdecl = cvar->symbol.decl;
TREE_ADDRESSABLE (cdecl) = 1;
addr = create_tmp_var (build_pointer_type (TREE_TYPE (decl)), NULL);
@@ -619,8 +619,8 @@ lower_emutls_function_body (struct cgraph_node *node)
struct lower_emutls_data d;
bool any_edge_inserts = false;
- current_function_decl = node->decl;
- push_cfun (DECL_STRUCT_FUNCTION (node->decl));
+ current_function_decl = node->symbol.decl;
+ push_cfun (DECL_STRUCT_FUNCTION (node->symbol.decl));
d.cfun_node = node;
d.builtin_decl = builtin_decl_explicit (BUILT_IN_EMUTLS_GET_ADDRESS);
@@ -703,7 +703,7 @@ create_emultls_var (struct varpool_node *var, void *data)
tree cdecl;
struct varpool_node *cvar;
- cdecl = new_emutls_decl (var->decl, var->alias_of);
+ cdecl = new_emutls_decl (var->symbol.decl, var->alias_of);
cvar = varpool_get_node (cdecl);
VEC_quick_push (varpool_node_ptr, control_vars, cvar);
@@ -713,7 +713,7 @@ create_emultls_var (struct varpool_node *var, void *data)
/* Make sure the COMMON block control variable gets initialized.
Note that there's no point in doing this for aliases; we only
need to do this once for the main variable. */
- emutls_common_1 (var->decl, cdecl, (tree *)data);
+ emutls_common_1 (var->symbol.decl, cdecl, (tree *)data);
}
if (var->alias && !var->alias_of)
cvar->alias = true;
@@ -722,8 +722,8 @@ create_emultls_var (struct varpool_node *var, void *data)
preventing the variable from re-appearing in the GIMPLE. We cheat
and use the control variable here (rather than a full call_expr),
which is special-cased inside the DWARF2 output routines. */
- SET_DECL_VALUE_EXPR (var->decl, cdecl);
- DECL_HAS_VALUE_EXPR_P (var->decl) = 1;
+ SET_DECL_VALUE_EXPR (var->symbol.decl, cdecl);
+ DECL_HAS_VALUE_EXPR_P (var->symbol.decl) = 1;
return false;
}
@@ -742,10 +742,10 @@ ipa_lower_emutls (void)
/* Examine all global variables for TLS variables. */
for (var = varpool_nodes; var ; var = var->next)
- if (DECL_THREAD_LOCAL_P (var->decl))
+ if (DECL_THREAD_LOCAL_P (var->symbol.decl))
{
- gcc_checking_assert (TREE_STATIC (var->decl)
- || DECL_EXTERNAL (var->decl));
+ gcc_checking_assert (TREE_STATIC (var->symbol.decl)
+ || DECL_EXTERNAL (var->symbol.decl));
varpool_node_set_add (tls_vars, var);
if (var->alias && var->analyzed)
varpool_node_set_add (tls_vars, varpool_variable_node (var, NULL));