diff options
author | Daniel Berlin <dberlin@gcc.gnu.org> | 2005-12-22 15:01:02 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2005-12-22 15:01:02 +0000 |
commit | 3bfdb124af2ec89d718bfb95824c5f03ec057060 (patch) | |
tree | d35b07b258135f64556be040612caee313e68554 /gcc/tree-dfa.c | |
parent | 1052bd544ead1ce3d9d4e43cb3d90fb40a84a890 (diff) | |
download | gcc-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.c | 20 |
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. */ |