diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 9 | ||||
-rw-r--r-- | gcc/tree-ssa-dce.c | 1 | ||||
-rw-r--r-- | gcc/tree-ssa-operands.c | 6 |
4 files changed, 16 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c414e8..f60d415 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-03-12 Steven Bosscher <stevenb@suse.de> + + * tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node. + * tree-ssa-dce.c (mark_stmt_necessary): Don't check for it. + * tree-ssa-operands.c (get_expr_operands): Likewise. + (get_expr_operands): Likewise for ERROR_MARK. + 2005-03-12 Kazu Hirata <kazu@cs.umass.edu> * tree-ssa.c (kill_redundant_phi_nodes): Remove local variable @@ -213,12 +220,12 @@ 2005-03-11 James A. Morrison <phython@gcc.gnu.org> - PR tree-optimization/15784 - * fold-const.c (fold): Fold ~A + 1 to -A. Fold -A - 1 - and -1 - A to ~A. + PR tree-optimization/15784 + * fold-const.c (fold): Fold ~A + 1 to -A. Fold -A - 1 + and -1 - A to ~A. - * stmt.c (expand_case): Don't change index_type. Convert minval - to the proper type. + * stmt.c (expand_case): Don't change index_type. Convert minval + to the proper type. PR tree-optimization/20130 * fold-const.c (fold): Fold x * -1 into -x. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 0adfb3b..56b7bc2 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -837,7 +837,7 @@ label_to_block (tree dest) static void make_goto_expr_edges (basic_block bb) { - tree goto_t, dest; + tree goto_t; basic_block target_bb; int for_call; block_stmt_iterator last = bsi_last (bb); @@ -848,13 +848,10 @@ make_goto_expr_edges (basic_block bb) CALL_EXPR or MODIFY_EXPR), then the edge is an abnormal edge resulting from a nonlocal goto. */ if (TREE_CODE (goto_t) != GOTO_EXPR) - { - dest = error_mark_node; - for_call = 1; - } + for_call = 1; else { - dest = GOTO_DESTINATION (goto_t); + tree dest = GOTO_DESTINATION (goto_t); for_call = 0; /* A GOTO to a local label creates normal edges. */ diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index 140282c..f8946bc 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -221,7 +221,6 @@ static inline void mark_stmt_necessary (tree stmt, bool add_to_worklist) { gcc_assert (stmt); - gcc_assert (stmt != error_mark_node); gcc_assert (!DECL_P (stmt)); if (NECESSARY (stmt)) diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index de5150e..47b4f1b 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -998,10 +998,6 @@ get_stmt_operands (tree stmt) _DECL. This indicates a bug in the gimplifier. */ gcc_assert (!SSA_VAR_P (stmt)); - /* Ignore error statements. */ - if (TREE_CODE (stmt) == ERROR_MARK) - return; - ann = get_stmt_ann (stmt); /* If the statement has not been modified, the operands are still valid. */ @@ -1037,7 +1033,7 @@ get_expr_operands (tree stmt, tree *expr_p, int flags) tree expr = *expr_p; stmt_ann_t s_ann = stmt_ann (stmt); - if (expr == NULL || expr == error_mark_node) + if (expr == NULL) return; code = TREE_CODE (expr); |