OSDN Git Service

* tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 2004 15:02:14 +0000 (15:02 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 2004 15:02:14 +0000 (15:02 +0000)
statements that always trigger.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90267 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-if-conv.c

index 9827936..94ab14a 100644 (file)
@@ -1,5 +1,10 @@
 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
 
+       * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
+       statements that always trigger.
+
+2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+
        * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
        tree-scalar-evolution.c, tree-ssa-loop-im.c,
        tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
index 89592f0..371d0a6 100644 (file)
@@ -271,7 +271,7 @@ static void
 tree_if_convert_cond_expr (struct loop *loop, tree stmt, tree cond,
                           block_stmt_iterator *bsi)
 {
-  tree then_clause, else_clause, c, new_cond;
+  tree then_clause, else_clause, c, c2, new_cond;
   new_cond = NULL_TREE;
 
   gcc_assert (TREE_CODE (stmt) == COND_EXPR);
@@ -290,27 +290,23 @@ tree_if_convert_cond_expr (struct loop *loop, tree stmt, tree cond,
     }
 
   /* Add new condition into destination's predicate list.  */
-  if (then_clause)
-    /* if 'c' is true then then_clause is reached.  */
-    new_cond = add_to_dst_predicate_list (loop, then_clause, cond, 
-                                         unshare_expr (c), bsi);
 
-  if (else_clause)
-    {
-      tree c2;
-      if (!is_gimple_reg(c) && is_gimple_condexpr (c))
-       {
-         tree new_stmt;
-         new_stmt = ifc_temp_var (TREE_TYPE (c), unshare_expr (c));
-         bsi_insert_before (bsi, new_stmt, BSI_SAME_STMT);
-         c = TREE_OPERAND (new_stmt, 0);
-       }
+  /* If 'c' is true then then_clause is reached.  */
+  new_cond = add_to_dst_predicate_list (loop, then_clause, cond,
+                                       unshare_expr (c), bsi);
 
-      /* if 'c' is false then else_clause is reached.  */
-      c2 = invert_truthvalue (unshare_expr (c));
-      add_to_dst_predicate_list (loop, else_clause, cond, c2, bsi);
+  if (!is_gimple_reg(c) && is_gimple_condexpr (c))
+    {
+      tree new_stmt;
+      new_stmt = ifc_temp_var (TREE_TYPE (c), unshare_expr (c));
+      bsi_insert_before (bsi, new_stmt, BSI_SAME_STMT);
+      c = TREE_OPERAND (new_stmt, 0);
     }
 
+  /* If 'c' is false then else_clause is reached.  */
+  c2 = invert_truthvalue (unshare_expr (c));
+  add_to_dst_predicate_list (loop, else_clause, cond, c2, bsi);
+
   /* Now this conditional statement is redundant. Remove it.
      But, do not remove exit condition! Update exit condition
      using new condition.  */