diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2004-11-24 11:41:38 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-11-24 11:41:38 +0000 |
commit | 16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70 (patch) | |
tree | b1c2513f30d70b29ff11a260b5524e5f0785c12c /gcc/tree-inline.c | |
parent | f39e46bac1fa7fa916b9d415d323fa7353c5e91a (diff) | |
download | gcc-16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70.zip gcc-16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70.tar.gz gcc-16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70.tar.bz2 |
expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
gcc/
* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
* gimplify.c (gimplify_labeled_block_expr): Remove.
(gimplify_exit_block_expr): Remove.
(gimplify_expr): Don't call them.
* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
(estimate_num_insns_1): Likewise.
(walk_tree): Likewise.
* tree-pretty-print.c (dump_generic_node): Don't handle
EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
(LABELED_BLOCK_EXPR): Likewise.
* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
(EXIT_BLOCK_RETURN): Removed.
java/
* java-gimplify.c (java_gimplify_labeled_block_expr): New function.
(java_gimplify_exit_block_expr): New function.
(java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
LABELED_BLOCK_EXPR.
* java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
(EXIT_BLOCK_EXPR): Likewise.
* java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
* jcf-write.c (generate_bytecode_insns): Don't handle the unused
EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
TREE_OPERAND.
* lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
(java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
second operand of EXIT_BLOCK_EXPR.
* parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
TREE_OPERAND.
(build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
From-SVN: r91149
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index eb4e58c..82a6a92 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -512,25 +512,6 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data) remap_save_expr (tp, id->decl_map, walk_subtrees); else if (TREE_CODE (*tp) == BIND_EXPR) copy_bind_expr (tp, walk_subtrees, id); - else if (TREE_CODE (*tp) == LABELED_BLOCK_EXPR) - { - /* We need a new copy of this labeled block; the EXIT_BLOCK_EXPR - will refer to it, so save a copy ready for remapping. We - save it in the decl_map, although it isn't a decl. */ - tree new_block = copy_node (*tp); - insert_decl_map (id, *tp, new_block); - *tp = new_block; - } - else if (TREE_CODE (*tp) == EXIT_BLOCK_EXPR) - { - splay_tree_node n - = splay_tree_lookup (id->decl_map, - (splay_tree_key) TREE_OPERAND (*tp, 0)); - /* We _must_ have seen the enclosing LABELED_BLOCK_EXPR. */ - gcc_assert (n); - *tp = copy_node (*tp); - TREE_OPERAND (*tp, 0) = (tree) n->value; - } /* Types may need remapping as well. */ else if (TYPE_P (*tp)) *tp = remap_type (*tp, id); @@ -1174,14 +1155,12 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data) case FILTER_EXPR: /* ??? */ case COMPOUND_EXPR: case BIND_EXPR: - case LABELED_BLOCK_EXPR: case WITH_CLEANUP_EXPR: case NOP_EXPR: case VIEW_CONVERT_EXPR: case SAVE_EXPR: case ADDR_EXPR: case COMPLEX_EXPR: - case EXIT_BLOCK_EXPR: case CASE_LABEL_EXPR: case SSA_NAME: case CATCH_EXPR: @@ -2080,8 +2059,7 @@ walk_tree (tree *tp, walk_tree_fn func, void *data, struct pointer_set_t *pset) } } - else if (code != EXIT_BLOCK_EXPR - && code != SAVE_EXPR + else if (code != SAVE_EXPR && code != BIND_EXPR && IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))) { @@ -2171,9 +2149,6 @@ walk_tree (tree *tp, walk_tree_fn func, void *data, struct pointer_set_t *pset) case CONSTRUCTOR: WALK_SUBTREE_TAIL (CONSTRUCTOR_ELTS (*tp)); - case EXIT_BLOCK_EXPR: - WALK_SUBTREE_TAIL (TREE_OPERAND (*tp, 1)); - case SAVE_EXPR: WALK_SUBTREE_TAIL (TREE_OPERAND (*tp, 0)); |