diff options
author | Jan Hubicka <jh@suse.cz> | 2006-09-12 12:11:04 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-09-12 10:11:04 +0000 |
commit | 93c094b52446169562292970e81c963517b58b37 (patch) | |
tree | 266a9bc23ee1dd47eaa2dd6b1ce2a9e99f2bdc7f /gcc/tree-flow-inline.h | |
parent | 5f86874e9f21a041d50230024699d8d0cef78bf3 (diff) | |
download | gcc-93c094b52446169562292970e81c963517b58b37.zip gcc-93c094b52446169562292970e81c963517b58b37.tar.gz gcc-93c094b52446169562292970e81c963517b58b37.tar.bz2 |
re PR middle-end/28071 (A file that can not be compiled in reasonable time/space)
PR rtl-optimization/28071
* tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
(vect_transform_loop): Likewise.
* tree-vectorizer.c (new_loop_vec_info): Likewise.
(new_loop_vec_info): Likewise.
(destroy_loop_vec_info): Likewise.
* tree-dfa.c (create_var_ann): Use GCC_CNEW.
(create_stmt_ann): Likewise.
(create_tree_ann): Rename to ...
(create_tree_common_ann): ... this one; allocate only the common part
of annotations.
* tree-vn.c (set_value_handle): Use get_tree_common_ann.
(get_value_handle): Likewise.
* tree-ssa-pre.c (phi_translate): Delay annotation allocation for
get_tree_common_ann.
* tree-vectorizer.h (set_stmt_info): Take stmt annotation.
(vinfo_for_stmt): Use stmt annotations.
* tree-flow.h (tree_ann_common_t): New type.
(tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
(tree_ann, get_tree_ann, create_tree_ann): New.
* tree-flow-inline.h (get_function_ann): Do more type checking.
(stmt_ann): Likewise.
(tree_ann): Rename to ...
(tree_common_ann): ... this one; return ony common_ann
(get_tree_ann): Rename to ...
(tree_common_ann): This one; return only common_ann.
* tree-vect-patterns.c (vect_pattern_recog_1): Update call
of set_stmt_info.
From-SVN: r116886
Diffstat (limited to 'gcc/tree-flow-inline.h')
-rw-r--r-- | gcc/tree-flow-inline.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index 5f7efa7..892be56 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -159,6 +159,7 @@ static inline function_ann_t get_function_ann (tree var) { function_ann_t ann = function_ann (var); + gcc_assert (!var->common.ann || var->common.ann->common.type == FUNCTION_ANN); return (ann) ? ann : create_function_ann (var); } @@ -170,6 +171,7 @@ stmt_ann (tree t) #ifdef ENABLE_CHECKING gcc_assert (is_gimple_stmt (t)); #endif + gcc_assert (!t->common.ann || t->common.ann->common.type == STMT_ANN); return (stmt_ann_t) t->common.ann; } @@ -785,19 +787,19 @@ mark_non_addressable (tree var) /* Return the common annotation for T. Return NULL if the annotation doesn't already exist. */ -static inline tree_ann_t -tree_ann (tree t) +static inline tree_ann_common_t +tree_common_ann (tree t) { - return t->common.ann; + return &t->common.ann->common; } /* Return a common annotation for T. Create the constant annotation if it doesn't exist. */ -static inline tree_ann_t -get_tree_ann (tree t) +static inline tree_ann_common_t +get_tree_common_ann (tree t) { - tree_ann_t ann = tree_ann (t); - return (ann) ? ann : create_tree_ann (t); + tree_ann_common_t ann = tree_common_ann (t); + return (ann) ? ann : create_tree_common_ann (t); } /* ----------------------------------------------------------------------- */ |