diff options
author | Michael Matz <matz@gcc.gnu.org> | 2009-11-24 15:37:32 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2009-11-24 15:37:32 +0000 |
commit | a5883ba0de68efad36db145e75c86394d8bd44ea (patch) | |
tree | b906ae87996cd4f2fdf60f2a50c3cbf838d510f2 /gcc/tree.h | |
parent | 6e0b03f5855ae33c0e25d723c5cfc0f2dbc6698f (diff) | |
download | gcc-a5883ba0de68efad36db145e75c86394d8bd44ea.zip gcc-a5883ba0de68efad36db145e75c86394d8bd44ea.tar.gz gcc-a5883ba0de68efad36db145e75c86394d8bd44ea.tar.bz2 |
tree.h (union tree_ann_d): Don't declare.
* tree.h (union tree_ann_d): Don't declare.
(tree_base): Remove ann field.
(struct var_ann_d): Declare forward.
(tree_result_decl, tree_parm_decl, tree_var_decl): Add ann field.
(DECL_VAR_ANN_PTR): New macro.
* tree-dfa.c (create_var_ann): Rewrite in terms of above macro,
accept only VAR, PARM or RESULT decls.
(create_tree_common_ann): Remove.
(remove_referenced_var): Use DECL_VAR_ANN_PTR.
* tree-eh.c (lookup_expr_eh_lp): Remove.
* tree-flow-inline.h (var_ann, get_var_ann): Rewrite in terms of
DECL_VAR_ANN_PTR.
(ann_type, tree_common_ann, get_tree_common_ann): Remove.
* tree-flow.h (enum tree_ann_type): Remove.
(struct tree_ann_common_d): Remove.
(struct var_ann_d): Remove common field.
(union tree_ann_d): Remove.
(tree_ann_t, tree_ann_common_t): Remove typedefs.
(tree_common_ann, get_tree_common_ann, ann_type,
create_tree_common_ann, lookup_expr_eh_lp): Don't declare.
* tree-ssa.c (delete_tree_ssa): Use DECL_VAR_ANN_PTR.
* tree.c (copy_node_stat): Use DECL_VAR_ANN_PTR.
* builtins.c (expand_builtin_memcpy): Use
currently_expanding_gimple_stmt instead of tree annotation.
(expand_builtin_memset_args): Ditto.
* cfgexpand.c (currently_expanding_gimple_stmt): Add global variable.
(expand_call_stmt): Don't set tree annotation.
(expand_gimple_basic_block): Set currently_expanding_gimple_stmt.
* expr.c (expand_expr_real): Don't call lookup_expr_eh_lp.
* gimple.h (currently_expanding_gimple_stmt): Declare.
From-SVN: r154502
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -356,7 +356,6 @@ enum omp_clause_code See the accessor macros, defined below, for documentation of the fields. */ -union tree_ann_d; struct GTY(()) tree_base { ENUM_BITFIELD(tree_code) code : 16; @@ -398,8 +397,6 @@ struct GTY(()) tree_base { in tree_base instead of tree_type is to save space. The size of the field must be large enough to hold addr_space_t values. */ unsigned address_space : 8; - - union tree_ann_d *ann; }; struct GTY(()) tree_common { @@ -2854,8 +2851,10 @@ struct GTY(()) tree_label_decl { int eh_landing_pad_nr; }; +struct var_ann_d; struct GTY(()) tree_result_decl { struct tree_decl_with_rtl common; + struct var_ann_d *ann; }; struct GTY(()) tree_const_decl { @@ -2873,6 +2872,7 @@ struct GTY(()) tree_const_decl { struct GTY(()) tree_parm_decl { struct tree_decl_with_rtl common; rtx incoming_rtl; + struct var_ann_d *ann; }; @@ -3082,8 +3082,15 @@ extern void decl_fini_priority_insert (tree, priority_type); #define DECL_THREAD_LOCAL_P(NODE) \ (VAR_DECL_CHECK (NODE)->decl_with_vis.tls_model >= TLS_MODEL_REAL) +#define DECL_VAR_ANN_PTR(NODE) \ + (TREE_CODE (NODE) == VAR_DECL ? &(NODE)->var_decl.ann \ + : TREE_CODE (NODE) == PARM_DECL ? &(NODE)->parm_decl.ann \ + : TREE_CODE (NODE) == RESULT_DECL ? &(NODE)->result_decl.ann \ + : NULL) + struct GTY(()) tree_var_decl { struct tree_decl_with_vis common; + struct var_ann_d *ann; }; |