diff options
author | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-29 14:44:47 +0000 |
---|---|---|
committer | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-29 14:44:47 +0000 |
commit | 0ab48139f36df798802b0128ce822980bf66be25 (patch) | |
tree | 9cac16ca3b03c2c66c24eeab8ec66e412d413342 /gcc/calls.c | |
parent | 7843e4bcb63ff8966e40b3498c00cb4a4c5783e1 (diff) | |
download | gcc-0ab48139f36df798802b0128ce822980bf66be25.tar.gz |
* rtl.h (assign_stack_temp, assign_stack_temp_for_type,
assign_temp): Remove 'keep' argument.
(mark_temp_addr_taken): Remove prototype.
* tree.h (expand_decl): Remove prototype.
* function.c (struct temp_slot): Remove addr_taken and keep
member.
(assign_stack_temp_for_type) Don't initialize above, remove
keep argument.
(assign_stack_temp, assign_temp): Remove keep argument.
(mark_temp_addr_taken): Remove.
(preserve_temp_slots): Remove handling of addr_taken and keep
members.
(free_temp_slots): Ditto.
* expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
dead code.
* stmt.c (expand_asm_operands): Remove dead code.
(expand_decl): Remove.
* c-decl.c (finish_struct): Don't call expand_decl.
* builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp
and assign_stack_temp.
* calls.c (save_fixed_argument_area, initialize_argument_information,
expand_call, emit_library_call_value_1, store_one_arg): Ditto.
* expmed.c (extract_bit_field_1): Ditto.
* expr.c (emit_group_load_1, emit_group_store,
copy_blkmode_from_reg, emit_push_insn, expand_assignment,
store_field, expand_constructor, expand_cond_expr_using_cmove,
expand_expr_real_2, expand_expr_real_1): Ditto.
* stmt.c (expand_asm_operands, expand_return): Ditto.
* function.c (pop_temp_slots): Call free_temp_slots.
* calls.c (store_one_arg): Don't call preserve_temp_slots or
free_temp_slots.
* expr.c (expand_assignment): Don't call free_temp_slots.
* config/arm/arm.c (neon_expand_vector_init): Ditto.
* config/i386/i386.c (ix86_expand_vector_set): Ditto.
(ix86_expand_vector_extract): Ditto.
* config/ia64/ia64.c (spill_xfmode_rfmode_operand,
ia64_expand_movxf_movrf): Ditto.
* config/mips/mips.c (mips_expand_vi_general): Ditto.
* config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
extendsfdf2): Ditto.
* config/rs6000/rs6000.c (rs6000_expand_vector_init,
rs6000_expand_vector_set, rs6000_expand_vector_extract,
rs6000_allocate_stack_temp): Ditto.
* config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
* config/sparc/sparc.c (emit_soft_tfmode_libcall,
sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp,
sparc_expand_vector_init): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187965 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index ea9e5cf71a8..d4bcd7b67d4 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -933,7 +933,7 @@ save_fixed_argument_area (int reg_parm_stack_space, rtx argblock, int *low_to_sa set_mem_align (stack_area, PARM_BOUNDARY); if (save_mode == BLKmode) { - save_area = assign_stack_temp (BLKmode, num_to_save, 0); + save_area = assign_stack_temp (BLKmode, num_to_save); emit_block_move (validize_mem (save_area), stack_area, GEN_INT (num_to_save), BLOCK_OP_CALL_PARM); } @@ -1258,7 +1258,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, set_mem_attributes (copy, type, 1); } else - copy = assign_temp (type, 0, 1, 0); + copy = assign_temp (type, 1, 0); store_expr (args[i].tree_value, copy, 0, false); @@ -2404,7 +2404,7 @@ expand_call (tree exp, rtx target, int ignore) /* For variable-sized objects, we must be called with a target specified. If we were to allocate space on the stack here, we would have no way of knowing when to free it. */ - rtx d = assign_temp (rettype, 0, 1, 1); + rtx d = assign_temp (rettype, 1, 1); structure_value_addr = XEXP (d, 0); target = 0; } @@ -3278,7 +3278,7 @@ expand_call (tree exp, rtx target, int ignore) (TYPE_QUALS (rettype) | TYPE_QUAL_CONST)); - target = assign_temp (nt, 0, 1, 1); + target = assign_temp (nt, 1, 1); } if (! rtx_equal_p (target, valreg)) @@ -3694,7 +3694,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value, if (value != 0 && MEM_P (value)) mem_value = value; else - mem_value = assign_temp (tfom, 0, 1, 1); + mem_value = assign_temp (tfom, 1, 1); #endif /* This call returns a big structure. */ flags &= ~(ECF_CONST | ECF_PURE | ECF_LOOPING_CONST_OR_PURE); @@ -3809,7 +3809,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value, else { slot = assign_temp (lang_hooks.types.type_for_mode (mode, 0), - 0, 1, 1); + 1, 1); emit_move_insn (slot, val); } @@ -4033,8 +4033,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value, { argvec[argnum].save_area = assign_stack_temp (BLKmode, - argvec[argnum].locate.size.constant, - 0); + argvec[argnum].locate.size.constant + ); emit_block_move (validize_mem (argvec[argnum].save_area), stack_area, @@ -4444,7 +4444,7 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags, tree nt = build_qualified_type (ot, (TYPE_QUALS (ot) | TYPE_QUAL_CONST)); - arg->save_area = assign_temp (nt, 0, 1, 1); + arg->save_area = assign_temp (nt, 1, 1); preserve_temp_slots (arg->save_area); emit_block_move (validize_mem (arg->save_area), stack_area, GEN_INT (arg->locate.size.constant), @@ -4721,11 +4721,7 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags, be deferred during the rest of the arguments. */ NO_DEFER_POP; - /* Free any temporary slots made in processing this argument. Show - that we might have taken the address of something and pushed that - as an operand. */ - preserve_temp_slots (NULL_RTX); - free_temp_slots (); + /* Free any temporary slots made in processing this argument. */ pop_temp_slots (); return sibcall_failure; |