From: rguenth Date: Mon, 10 Mar 2008 11:58:09 +0000 (+0000) Subject: 2008-03-10 Richard Guenther X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=10bf6100541c2eee1dcd02a69313ac32126d8cdd 2008-03-10 Richard Guenther * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6ccffbc4b0..0cc26c7b556 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-03-10 Richard Guenther + + * tree-ssa-pre.c (get_sccvn_value): Simplify. + (compute_avail): Do not add stmt uses to AVAIL_OUT. + 2008-03-10 Paolo Bonzini * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): 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