diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-03 00:15:50 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-03 00:15:50 +0000 |
commit | 67c155cb511cac5924bf843a667d9da60b42c481 (patch) | |
tree | 1c3ed35626f7a5ec145a2aaec1364cd9a760a955 /gcc/function.c | |
parent | 984b5589eafa9db32cae18d083b4dead675985b0 (diff) | |
download | gcc-67c155cb511cac5924bf843a667d9da60b42c481.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84036 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/function.c b/gcc/function.c index 1d17c4fa591..b6d37896a8e 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -436,7 +436,6 @@ free_after_compilation (struct function *f) f->x_nonlocal_goto_handler_labels = NULL; f->x_return_label = NULL; f->x_naked_return_label = NULL; - f->x_save_expr_regs = NULL; f->x_stack_slot_list = NULL; f->x_tail_recursion_reentry = NULL; f->x_arg_pointer_save_area = NULL; @@ -1305,9 +1304,7 @@ put_var_into_stack (tree decl, int rescan) context = decl_function_context (decl); /* Get the current rtl used for this object and its original mode. */ - orig_reg = reg = (TREE_CODE (decl) == SAVE_EXPR - ? SAVE_EXPR_RTL (decl) - : DECL_RTL_IF_SET (decl)); + orig_reg = reg = DECL_RTL_IF_SET (decl); /* No need to do anything if decl has no rtx yet since in that case caller is setting TREE_ADDRESSABLE @@ -2824,10 +2821,8 @@ gen_mem_addressof (rtx reg, tree decl, int rescan) if (decl) { tree type = TREE_TYPE (decl); - enum machine_mode decl_mode - = (DECL_P (decl) ? DECL_MODE (decl) : TYPE_MODE (TREE_TYPE (decl))); - rtx decl_rtl = (TREE_CODE (decl) == SAVE_EXPR ? SAVE_EXPR_RTL (decl) - : DECL_RTL_IF_SET (decl)); + enum machine_mode decl_mode = DECL_MODE (decl); + rtx decl_rtl = DECL_RTL_IF_SET (decl); PUT_MODE (reg, decl_mode); |