diff options
author | Richard Henderson <rth@redhat.com> | 2004-07-02 17:15:50 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-07-02 17:15:50 -0700 |
commit | 82c8274320fcfdf2ce27d26c017a4d9d9cafa4b1 (patch) | |
tree | 1c3ed35626f7a5ec145a2aaec1364cd9a760a955 /gcc/tree-inline.c | |
parent | a7e4cdca852a596dffe4e7cd2a1b0bd887c5ebec (diff) | |
download | gcc-82c8274320fcfdf2ce27d26c017a4d9d9cafa4b1.zip gcc-82c8274320fcfdf2ce27d26c017a4d9d9cafa4b1.tar.gz gcc-82c8274320fcfdf2ce27d26c017a4d9d9cafa4b1.tar.bz2 |
c-decl.c (grokdeclarator): Don't frob current_function_decl around variable_size.
* c-decl.c (grokdeclarator): Don't frob current_function_decl
around variable_size.
(set_decl_nonlocal): Remove.
(store_parm_decls): Add stmts for pending sizes.
* calls.c (calls_function, calls_function_1): Remove.
(precompute_arguments): Don't call it.
* cfgexpand.c (set_save_expr_context): Remove.
(tree_expand_cfg): Don't call it.
* dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
(dwarf2out_finish): Likewise.
* expr.c (emit_block_move): Adjust addresses to BLKmode.
(store_constructor): Don't pre-evaluate SAVE_EXPR.
(safe_from_p): Don't queue SAVE_EXPRs.
(expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
or build plain VAR_DECLs.
* fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
(fold): Likewise.
(fold_checksum_tree): Don't special-case SAVE_EXPR.
* function.c (free_after_compilation): Don't clear x_save_expr_regs.
(put_var_into_stack): Don't handle SAVE_EXPR.
(gen_mem_addressof): Likewise.
* function.h (struct function): Remove x_save_expr_regs.
(save_expr_regs): Remove.
* gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
* print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
* stor-layout.c (variable_size): Don't set it.
(force_type_save_exprs, force_type_save_exprs_1): Remove.
* tree-inline.c (remap_save_expr): Remove fn argument. Update
all callers. Don't set SAVE_EXPR_CONTEXT.
* tree-inline.h (remap_save_expr): Update decl.
* tree.c (save_expr): Update build size.
(first_rtl_op): Don't handle SAVE_EXPR.
(unsave_expr_1, contains_placeholder_p): Likewise.
(decl_function_context): Likewise.
* tree.def (SAVE_EXPR): Remove args 1 and 2.
* tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
(SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.
cp/
* tree.c (cp_unsave_r): Update remap_save_expr call.
java/
* jcf-write.c (generate_bytecode_insns <case SAVE_EXPR>): Rewrite.
From-SVN: r84036
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index aa579c3..d2d0fd4 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -528,8 +528,7 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data) else if (TREE_CODE (*tp) == STATEMENT_LIST) copy_statement_list (tp); else if (TREE_CODE (*tp) == SAVE_EXPR) - remap_save_expr (tp, id->decl_map, VARRAY_TREE (id->fns, 0), - walk_subtrees); + remap_save_expr (tp, id->decl_map, walk_subtrees); else if (TREE_CODE (*tp) == UNSAVE_EXPR) /* UNSAVE_EXPRs should not be generated until expansion time. */ abort (); @@ -2318,11 +2317,10 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) /* The SAVE_EXPR pointed to by TP is being copied. If ST contains information indicating to what new SAVE_EXPR this one should be mapped, - use that one. Otherwise, create a new node and enter it in ST. FN is the - function into which the copy will be placed. */ + use that one. Otherwise, create a new node and enter it in ST. */ void -remap_save_expr (tree *tp, void *st_, tree fn, int *walk_subtrees) +remap_save_expr (tree *tp, void *st_, int *walk_subtrees) { splay_tree st = (splay_tree) st_; splay_tree_node n; @@ -2336,11 +2334,6 @@ remap_save_expr (tree *tp, void *st_, tree fn, int *walk_subtrees) { t = copy_node (*tp); - /* The SAVE_EXPR is now part of the function into which we - are inlining this body. */ - SAVE_EXPR_CONTEXT (t) = fn; - /* And we haven't evaluated it yet. */ - SAVE_EXPR_RTL (t) = NULL_RTX; /* Remember this SAVE_EXPR. */ splay_tree_insert (st, (splay_tree_key) *tp, (splay_tree_value) t); /* Make sure we don't remap an already-remapped SAVE_EXPR. */ @@ -2412,7 +2405,7 @@ unsave_r (tree *tp, int *walk_subtrees, void *data) else if (TREE_CODE (*tp) == BIND_EXPR) copy_bind_expr (tp, walk_subtrees, id); else if (TREE_CODE (*tp) == SAVE_EXPR) - remap_save_expr (tp, st, current_function_decl, walk_subtrees); + remap_save_expr (tp, st, walk_subtrees); else { copy_tree_r (tp, walk_subtrees, NULL); |