OSDN Git Service

2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Oct 2004 04:15:43 +0000 (04:15 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Oct 2004 04:15:43 +0000 (04:15 +0000)
        Revert:
        2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
        PR middle-end/17967
        Revert:
                * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
                (remove_useless_stmts_1):  Fold trees we know how to fold.

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

gcc/ChangeLog
gcc/tree-cfg.c

index 44ca1c2..a70de55 100644 (file)
@@ -1,3 +1,12 @@
+2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       Revert:
+       2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+       PR middle-end/17967
+       Revert:
+               * tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
+               (remove_useless_stmts_1):  Fold trees we know how to fold.
+
 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
 
        * configure.ac: Add .machine power4 directive when testing for
index 2986e31..293b24e 100644 (file)
@@ -1204,6 +1204,7 @@ remove_useless_stmts_cond (tree *stmt_p, struct rus_data *data)
   else_has_label = data->has_label;
   data->has_label = save_has_label | then_has_label | else_has_label;
 
+  fold_stmt (stmt_p);
   then_clause = COND_EXPR_THEN (*stmt_p);
   else_clause = COND_EXPR_ELSE (*stmt_p);
   cond = COND_EXPR_COND (*stmt_p);
@@ -1551,11 +1552,13 @@ remove_useless_stmts_1 (tree *tp, struct rus_data *data)
       break;
 
     case RETURN_EXPR:
+      fold_stmt (tp);
       data->last_goto = NULL;
       data->may_branch = true;
       break;
 
     case CALL_EXPR:
+      fold_stmt (tp);
       data->last_goto = NULL;
       notice_special_calls (t);
       update_call_expr_flags (t);
@@ -1565,6 +1568,7 @@ remove_useless_stmts_1 (tree *tp, struct rus_data *data)
 
     case MODIFY_EXPR:
       data->last_goto = NULL;
+      fold_stmt (tp);
       op = get_call_expr_in (t);
       if (op)
        {
@@ -1600,6 +1604,10 @@ remove_useless_stmts_1 (tree *tp, struct rus_data *data)
          }
       }
       break;
+    case SWITCH_EXPR:
+      fold_stmt (tp);
+      data->last_goto = NULL;
+      break;
 
     default:
       data->last_goto = NULL;