]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/18472 (TREE_OPERAND (t, 1) is referenced for t being GOTO_EXPR)
authorKazu Hirata <kazu@cs.umass.edu>
Wed, 11 May 2005 18:27:33 +0000 (18:27 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Wed, 11 May 2005 18:27:33 +0000 (18:27 +0000)
PR tree-optimizer/18472
* tree-if-conv.c (tree_if_convert_stmt,
if_convertible_modify_expr_p): Don't handle GOTO_EXPR.

From-SVN: r99588

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

index 07ed6e1e62413cd4439d14c78a54038a5e115b69..a2996b2e2b1ea3a39b0b9c902492fa710782339f 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimizer/18472
+       * tree-if-conv.c (tree_if_convert_stmt,
+       if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
+
 2005-05-11  Jan Hubicka  <jh@suse.cz>
 
        * Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
index 2d72eeaae00ce65be3ccc26e807aa3afa69ec029..decd9cde6afec22666fe220b2586d1f84c43af3c 100644 (file)
@@ -241,13 +241,6 @@ tree_if_convert_stmt (struct loop *  loop, tree t, tree cond,
         program.  */
       break;
 
-    case GOTO_EXPR:
-      /* Unconditional goto */
-      add_to_predicate_list (bb_for_stmt (TREE_OPERAND (t, 1)), cond);
-      bsi_remove (bsi);
-      cond = NULL_TREE;
-      break;
-
     case COND_EXPR:
       /* Update destination blocks' predicate list and remove this
         condition expression.  */
@@ -401,7 +394,7 @@ if_convertible_modify_expr_p (struct loop *loop, basic_block bb, tree m_expr)
 /* Return true, iff STMT is if-convertible.
    Statement is if-convertible if,
    - It is if-convertible MODIFY_EXPR
-   - IT is LABEL_EXPR, GOTO_EXPR or COND_EXPR.
+   - IT is LABEL_EXPR or COND_EXPR.
    STMT is inside block BB, which is inside loop LOOP.  */
 
 static bool
@@ -418,7 +411,6 @@ if_convertible_stmt_p (struct loop *loop, basic_block bb, tree stmt)
        return false;
       break;
 
-    case GOTO_EXPR:
     case COND_EXPR:
       break;