diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-10-15 04:15:43 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-10-14 21:15:43 -0700 |
commit | 53e782e542b3311a78d36410c9e87c34ad5717ff (patch) | |
tree | b66f8c287673a98964a3e9aa60fb1667a2540e2f | |
parent | d2ab3e372bc79054df5ded9b200c9729e4488208 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 8 |
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; |