aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-flow-inline.h
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2007-07-07 22:23:26 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2007-07-07 22:23:26 +0000
commitb71b4522b534a93471f68f5ca1efd111315f5c5e (patch)
tree69e1814e576690f14ef7f3bcaba222527d7ee4e5 /gcc/tree-flow-inline.h
parent0e8eb4d81e74fbb97810ca6a3bd1a300deda24f0 (diff)
downloadgcc-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.h10
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))