diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-20 22:40:48 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-20 22:40:48 +0000 |
commit | f5ab006bf3e5e6f8e8036e036d8bd1b151c82f60 (patch) | |
tree | 43db620bf4a68210816d01661abe142a49165b70 /gcc/tree-flow.h | |
parent | 44753b5af6138f98260a844f11f88969abc33c05 (diff) | |
download | gcc-f5ab006bf3e5e6f8e8036e036d8bd1b151c82f60.tar.gz |
* tree-flow-inline.h (gimple_var_anns): New function.
(var_ann): Use hashtable for static functions.
* tree-dfa.c (create_var_ann): Likewise.
* tree-ssa.c (var_ann_eq, var_ann_hash): New functions.
(init_tree_ssa): Initialize var anns.
(delete_tree_ssa): Delete var anns; also clear out gimple_df.
* tree-flow.h (struct static_var_ann_d): New structure.
(gimple_df): Add var_anns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120089 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 5f63ba93b01..8989c2f0a24 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -38,6 +38,7 @@ typedef struct edge_def *edge; struct basic_block_def; typedef struct basic_block_def *basic_block; #endif +struct static_var_ann_d; /* Gimple dataflow datastructure. All publicly available fields shall have gimple_ accessor defined in tree-flow-inline.h, all publicly modifiable @@ -92,6 +93,10 @@ struct gimple_df GTY(()) { unsigned int in_ssa_p : 1; struct ssa_operands ssa_operands; + + /* Hashtable of variables annotations. Used for static variables only; + local variables have direct pointer in the tree node. */ + htab_t GTY((param_is (struct static_var_ann_d))) var_anns; }; /* Accessors for internal use only. Generic code should use abstraction @@ -283,6 +288,14 @@ struct var_ann_d GTY(()) unsigned int escape_mask; }; +/* Contianer for variable annotation used by hashtable for annotations for + static variables. */ +struct static_var_ann_d GTY(()) +{ + struct var_ann_d ann; + unsigned int uid; +}; + struct function_ann_d GTY(()) { struct tree_ann_common_d common; |