summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-18 14:05:20 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-18 14:05:20 +0000
commit8a12616d28a3ea9b930ca08c1d752c6f0191357b (patch)
tree4614614174c761f4e19c8775384b4781c2975702 /gcc/tree-ssa-pre.c
parent45afb71e5e5add2dadf910225eae01fba6db4d6b (diff)
downloadgcc-8a12616d28a3ea9b930ca08c1d752c6f0191357b.tar.gz
2004-06-18 Daniel Berlin <dberlin@dberlin.org>
Diego Novillo <dnovillo@redhat.com> * tree-dfa.c (create_var_ann): tree_ann -> tree_ann_t. (create_stmt_ann): Ditto. (create_tree_ann): New function. (create_cst_ann): Remove. (create_expr_ann): Ditto. * tree-flow-inline.h (cst_ann): Remove. (get_cst_ann): Ditto. (get_expr_ann): Ditto. (expr_ann): Ditto. (get_tree_ann): New function. (tree_ann): Ditto. (ann_type): tree_ann -> tree_ann_t. * tree-flow.h (tree_ann_type): CST_ANN, EXPR_ANN removed. (struct cst_ann_d): Removed. (struct expr_ann_d): Ditto. (union tree_ann_d): Removed cst and expr. (tree_ann): Renamed to tree_ann_t. * tree-ssa-ccp.c (set_rhs): tree_ann -> tree_ann_t. * tree-ssa-pre.c (get_value_handle): Rewrite for single common annotation. (set_value_handle): Ditto. (phi_translate): Ditto. * tree-tailcall.c (adjust_return_value): tree_ann -> tree_ann_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83349 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 5109934c5bc..7c0aeb7dca3 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -372,16 +372,10 @@ get_value_handle (tree expr)
{
return SSA_NAME_VALUE (expr);
}
- else if (TREE_CODE_CLASS (TREE_CODE (expr)) == 'c')
+ else if (TREE_CODE_CLASS (TREE_CODE (expr)) == 'c'
+ || EXPR_P (expr))
{
- cst_ann_t ann = cst_ann (expr);
- if (ann)
- return ann->common.value_handle;
- return NULL;
- }
- else if (EXPR_P (expr))
- {
- expr_ann_t ann = expr_ann (expr);
+ tree_ann_t ann = tree_ann (expr);
if (ann)
return ann->common.value_handle;
return NULL;
@@ -399,10 +393,9 @@ set_value_handle (tree e, tree v)
abort ();
else if (TREE_CODE (e) == SSA_NAME)
SSA_NAME_VALUE (e) = v;
- else if (TREE_CODE_CLASS (TREE_CODE (e)) == 'c')
- get_cst_ann (e)->common.value_handle = v;
- else if (EXPR_P (e))
- get_expr_ann (e)->common.value_handle = v;
+ else if (TREE_CODE_CLASS (TREE_CODE (e)) == 'c'
+ || EXPR_P (e))
+ get_tree_ann (e)->common.value_handle = v;
}
/* A three tuple {e, pred, v} used to cache phi translations in the
@@ -978,7 +971,7 @@ phi_translate (tree expr, value_set_t set, basic_block pred,
{
newexpr = pool_alloc (binary_node_pool);
memcpy (newexpr, expr, tree_size (expr));
- create_expr_ann (newexpr);
+ create_tree_ann (newexpr);
TREE_OPERAND (newexpr, 0) = newop1 == oldop1 ? oldop1 : get_value_handle (newop1);
TREE_OPERAND (newexpr, 1) = newop2 == oldop2 ? oldop2 : get_value_handle (newop2);
lookup_or_add (value_table, newexpr);
@@ -1001,7 +994,7 @@ phi_translate (tree expr, value_set_t set, basic_block pred,
{
newexpr = pool_alloc (unary_node_pool);
memcpy (newexpr, expr, tree_size (expr));
- create_expr_ann (newexpr);
+ create_tree_ann (newexpr);
TREE_OPERAND (newexpr, 0) = get_value_handle (newop1);
lookup_or_add (value_table, newexpr);
expr = newexpr;