aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-dfa.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@gcc.gnu.org>2005-12-22 15:01:02 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2005-12-22 15:01:02 +0000
commit3bfdb124af2ec89d718bfb95824c5f03ec057060 (patch)
treed35b07b258135f64556be040612caee313e68554 /gcc/tree-dfa.c
parent1052bd544ead1ce3d9d4e43cb3d90fb40a84a890 (diff)
downloadgcc-3bfdb124af2ec89d718bfb95824c5f03ec057060.zip
gcc-3bfdb124af2ec89d718bfb95824c5f03ec057060.tar.gz
gcc-3bfdb124af2ec89d718bfb95824c5f03ec057060.tar.bz2
ipa-reference.c (get_reference_vars_info_from_cgraph): Use function_ann.
2005-12-22 Daniel Berlin <dberlin@dberlin.org> * ipa-reference.c (get_reference_vars_info_from_cgraph): Use function_ann. (get_local_reference_vars_info): Ditto. (get_global_reference_vars_info): Ditto. (analyze_function): Ditto. (clean_function): Ditto. * tree-dfa.c (create_function_ann): New function. * tree-flow-inline.h (var_ann): FUNCTION_DECL's don't have var_ann. (function_ann): New. (get_function_ann): Ditto. * tree-flow.h (tree_ann_type): Add FUNCTION_ANN. (struct var_ann_d): Move reference_vars_info to function annotation. (struct function_ann_d): New. (union tree_ann_d): Add function_ann. From-SVN: r108950
Diffstat (limited to 'gcc/tree-dfa.c')
-rw-r--r--gcc/tree-dfa.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 89cdd6e..5af9753 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -167,6 +167,26 @@ create_var_ann (tree t)
return ann;
}
+/* Create a new annotation for a FUNCTION_DECL node T. */
+
+function_ann_t
+create_function_ann (tree t)
+{
+ function_ann_t ann;
+
+ gcc_assert (t);
+ gcc_assert (TREE_CODE (t) == FUNCTION_DECL);
+ gcc_assert (!t->common.ann || t->common.ann->common.type == FUNCTION_ANN);
+
+ ann = ggc_alloc (sizeof (*ann));
+ memset ((void *) ann, 0, sizeof (*ann));
+
+ ann->common.type = FUNCTION_ANN;
+
+ t->common.ann = (tree_ann_t) ann;
+
+ return ann;
+}
/* Create a new annotation for a statement node T. */