summaryrefslogtreecommitdiff
path: root/gcc/tree-flow.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-20 22:40:48 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-20 22:40:48 +0000
commitf5ab006bf3e5e6f8e8036e036d8bd1b151c82f60 (patch)
tree43db620bf4a68210816d01661abe142a49165b70 /gcc/tree-flow.h
parent44753b5af6138f98260a844f11f88969abc33c05 (diff)
downloadgcc-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.h13
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;