aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-15 04:15:43 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-14 21:15:43 -0700
commit53e782e542b3311a78d36410c9e87c34ad5717ff (patch)
treeb66f8c287673a98964a3e9aa60fb1667a2540e2f
parentd2ab3e372bc79054df5ded9b200c9729e4488208 (diff)
downloadgcc-53e782e542b3311a78d36410c9e87c34ad5717ff.zip
gcc-53e782e542b3311a78d36410c9e87c34ad5717ff.tar.gz
gcc-53e782e542b3311a78d36410c9e87c34ad5717ff.tar.bz2
revert: re PR middle-end/17967 (Expand is considered slower? (remove_useless_stmts is considered part of expand))
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. From-SVN: r89080
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/tree-cfg.c8
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44ca1c2..a70de55 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 2986e31..293b24e 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -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;