diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2007-07-07 22:23:26 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2007-07-07 22:23:26 +0000 |
commit | b71b4522b534a93471f68f5ca1efd111315f5c5e (patch) | |
tree | 69e1814e576690f14ef7f3bcaba222527d7ee4e5 /gcc/tree-flow-inline.h | |
parent | 0e8eb4d81e74fbb97810ca6a3bd1a300deda24f0 (diff) | |
download | gcc-b71b4522b534a93471f68f5ca1efd111315f5c5e.zip gcc-b71b4522b534a93471f68f5ca1efd111315f5c5e.tar.gz gcc-b71b4522b534a93471f68f5ca1efd111315f5c5e.tar.bz2 |
Revert (note the sccvn portions are *not* reverted) 2007-07-06 Daniel Berlin <dberlin@dberlin.org>
2007-07-07 Daniel Berlin <dberlin@dberlin.org>
Revert (note the sccvn portions are *not* reverted)
2007-07-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/23488
* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
handles.
* tree-flow-inline.h (get_value_handle): Ditto.
* tree-ssa-pre.c (decl_vh_map): New.
(decl_node_pool): New.
(can_value_number_operation): Support DECL_P.
(can_PRE_operation): Ditto.
(create_expression_by_pieces): Ditto.
(find_existing_value_expr): Modify to differnetiate between
addressing and top level.
(create_value_handle_for_expr): Handle DECL's.
(poolify_tree): Ditto.
(make_values_for_phi): Don't insert into PHI_GEN during FRE.
(make_values_for_stmt): Handle DECL's properly.
(init_pre): Reorg to not init useless things during FRE.
(fini_pre): Ditto.
* tree-flow.h: Include pointer-set.h.
(decl_vh_map): Declare.
* Makefile.in (TREE_FLOW_H): Add pointer-set.h
From-SVN: r126449
Diffstat (limited to 'gcc/tree-flow-inline.h')
-rw-r--r-- | gcc/tree-flow-inline.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index 2ab4a5e..cb2f655 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -1792,20 +1792,12 @@ get_value_handle (tree expr) { if (TREE_CODE (expr) == SSA_NAME) return SSA_NAME_VALUE (expr); - else if (TREE_CODE (expr) == TREE_LIST + else if (DECL_P (expr) || TREE_CODE (expr) == TREE_LIST || TREE_CODE (expr) == CONSTRUCTOR) { tree_ann_common_t ann = tree_common_ann (expr); return ((ann) ? ann->value_handle : NULL_TREE); } - else if (DECL_P (expr)) - { - tree *result = (tree *)pointer_map_contains (decl_vh_map, - expr); - if (result) - return *result; - return NULL_TREE; - } else if (is_gimple_min_invariant (expr)) return expr; else if (EXPR_P (expr)) |