summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-10 11:58:09 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-10 11:58:09 +0000
commit10bf6100541c2eee1dcd02a69313ac32126d8cdd (patch)
tree2c800d7e811979a56ad0b7f6af1fedea51b90093 /gcc/tree-ssa-pre.c
parent550a64afc8c865214f4822026ba4c35dfb138c12 (diff)
downloadgcc-10bf6100541c2eee1dcd02a69313ac32126d8cdd.tar.gz
2008-03-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (get_sccvn_value): Simplify. (compute_avail): Do not add stmt uses to AVAIL_OUT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133074 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index a488257fdd4..b75fa6417a5 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -3243,19 +3243,6 @@ get_sccvn_value (tree name)
it. */
if (!valvh && !is_invariant)
{
- tree defstmt = SSA_NAME_DEF_STMT (val);
-
- gcc_assert (VN_INFO (val)->valnum == val);
- /* PHI nodes can't have vuses and attempts to iterate over
- their VUSE operands will crash. */
- if (TREE_CODE (defstmt) == PHI_NODE || IS_EMPTY_STMT (defstmt))
- defstmt = NULL;
- {
- tree defstmt2 = SSA_NAME_DEF_STMT (name);
- if (TREE_CODE (defstmt2) != PHI_NODE &&
- !ZERO_SSA_OPERANDS (defstmt2, SSA_OP_ALL_VIRTUALS))
- gcc_assert (defstmt);
- }
/* We lookup with the LHS, so do not use vn_lookup_or_add_with_stmt
here, as that will result in useless reference lookups. */
valvh = vn_lookup_or_add (val);
@@ -3562,7 +3549,6 @@ compute_avail (void)
{
if (make_values_for_stmt (stmt, block))
continue;
-
}
/* For any other statement that we don't recognize, simply
@@ -3571,12 +3557,9 @@ compute_avail (void)
FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF)
add_to_sets (op, op, NULL, TMP_GEN (block), AVAIL_OUT (block));
+ /* Also add all referenced SSA_NAMEs to EXP_GEN. */
FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_USE)
- {
- add_to_sets (op, op, NULL, NULL , AVAIL_OUT (block));
- if (TREE_CODE (op) == SSA_NAME || can_PRE_operation (op))
- add_to_exp_gen (block, op);
- }
+ add_to_exp_gen (block, op);
}
/* Put the dominator children of BLOCK on the worklist of blocks