mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-11 11:50:59 +08:00
calls.c (load_register_parameters): Move check for zero sized items so that only the call to ...
* calls.c (load_register_parameters): Move check for zero sized items so that only the call to mem_overlaps_already_clobbered_arg_p () is protected. From-SVN: r162402
This commit is contained in:
parent
20b3c24c86
commit
3b2ee1701f
@ -1,3 +1,9 @@
|
||||
2010-07-22 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* calls.c (load_register_parameters): Move check for zero
|
||||
sized items so that only the call to
|
||||
mem_overlaps_already_clobbered_arg_p () is protected.
|
||||
|
||||
2010-07-22 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* ipa-pure-const.c (varying_state): Break out from ...
|
||||
|
11
gcc/calls.c
11
gcc/calls.c
@ -1668,15 +1668,16 @@ load_register_parameters (struct arg_data *args, int num_actuals,
|
||||
emit_move_insn (gen_rtx_REG (word_mode, REGNO (reg) + j),
|
||||
args[i].aligned_regs[j]);
|
||||
|
||||
else if ((partial == 0 || args[i].pass_on_stack)
|
||||
&& size != 0)
|
||||
else if (partial == 0 || args[i].pass_on_stack)
|
||||
{
|
||||
rtx mem = validize_mem (args[i].value);
|
||||
|
||||
/* Check for overlap with already clobbered argument area. */
|
||||
/* Check for overlap with already clobbered argument area,
|
||||
providing that this has non-zero size. */
|
||||
if (is_sibcall
|
||||
&& mem_overlaps_already_clobbered_arg_p (XEXP (args[i].value, 0),
|
||||
size))
|
||||
&& (size == 0
|
||||
|| mem_overlaps_already_clobbered_arg_p
|
||||
(XEXP (args[i].value, 0), size)))
|
||||
*sibcall_failure = 1;
|
||||
|
||||
/* Handle a BLKmode that needs shifting. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user