function.c (assign_parm_remove_parallels): Check mode of entry_parm.
* function.c (assign_parm_remove_parallels): Check mode of entry_parm. (assign_parm_setup_block_p): Also check mode of entry_parm. From-SVN: r137575
This commit is contained in:
parent
bf87f41cae
commit
85776d6097
@ -1,3 +1,9 @@
|
|||||||
|
2008-07-07 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* function.c (assign_parm_remove_parallels): Check mode of
|
||||||
|
entry_parm.
|
||||||
|
(assign_parm_setup_block_p): Also check mode of entry_parm.
|
||||||
|
|
||||||
2008-07-07 Richard Guenther <rguenther@suse.de>
|
2008-07-07 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
* tree-ssa-structalias.h (set_used_smts): Remove.
|
* tree-ssa-structalias.h (set_used_smts): Remove.
|
||||||
|
@ -2364,8 +2364,7 @@ assign_parm_remove_parallels (struct assign_parm_data_one *data)
|
|||||||
This can be done with register operations rather than on the
|
This can be done with register operations rather than on the
|
||||||
stack, even if we will store the reconstituted parameter on the
|
stack, even if we will store the reconstituted parameter on the
|
||||||
stack later. */
|
stack later. */
|
||||||
if (GET_CODE (entry_parm) == PARALLEL
|
if (GET_CODE (entry_parm) == PARALLEL && GET_MODE (entry_parm) != BLKmode)
|
||||||
&& data->passed_mode != BLKmode)
|
|
||||||
{
|
{
|
||||||
rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));
|
rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));
|
||||||
emit_group_store (parmreg, entry_parm, NULL_TREE,
|
emit_group_store (parmreg, entry_parm, NULL_TREE,
|
||||||
@ -2421,6 +2420,8 @@ assign_parm_setup_block_p (struct assign_parm_data_one *data)
|
|||||||
{
|
{
|
||||||
if (data->nominal_mode == BLKmode)
|
if (data->nominal_mode == BLKmode)
|
||||||
return true;
|
return true;
|
||||||
|
if (GET_MODE (data->entry_parm) == BLKmode)
|
||||||
|
return true;
|
||||||
|
|
||||||
#ifdef BLOCK_REG_PADDING
|
#ifdef BLOCK_REG_PADDING
|
||||||
/* Only assign_parm_setup_block knows how to deal with register arguments
|
/* Only assign_parm_setup_block knows how to deal with register arguments
|
||||||
|
Loading…
Reference in New Issue
Block a user