diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-ccp.c | 23 |
2 files changed, 19 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c95d9a..56e6fd4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-08-20 Zhouyi Zhou <yizhouzhou@ict.ac.cn> + + * tree-ssa-ccp.c (get_default_value): Remove redundant condition + checks. + 2013-08-20 David Malcolm <dmalcolm@redhat.com> Make opt_pass and gcc::pass_manager be GC-managed, so that pass diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 6472f48..78687f7 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -258,12 +258,7 @@ get_default_value (tree var) val.mask = double_int_minus_one; } } - else if (is_gimple_assign (stmt) - /* Value-returning GIMPLE_CALL statements assign to - a variable, and are treated similarly to GIMPLE_ASSIGN. */ - || (is_gimple_call (stmt) - && gimple_call_lhs (stmt) != NULL_TREE) - || gimple_code (stmt) == GIMPLE_PHI) + else if (is_gimple_assign (stmt)) { tree cst; if (gimple_assign_single_p (stmt) @@ -274,9 +269,19 @@ get_default_value (tree var) val.value = cst; } else - /* Any other variable defined by an assignment or a PHI node - is considered UNDEFINED. */ - val.lattice_val = UNDEFINED; + { + /* Any other variable defined by an assignment is considered + UNDEFINED. */ + val.lattice_val = UNDEFINED; + } + } + else if ((is_gimple_call (stmt) + && gimple_call_lhs (stmt) != NULL_TREE) + || gimple_code (stmt) == GIMPLE_PHI) + { + /* A variable defined by a call or a PHI node is considered + UNDEFINED. */ + val.lattice_val = UNDEFINED; } else { |