Commit 4606272b by Alexandre Oliva Committed by Alexandre Oliva

function.c (assign_parms): Demote promoted argument passed by transparent reference.

* function.c (assign_parms): Demote promoted argument passed by
transparent reference.

From-SVN: r49774
parent 0b46224d
2002-02-14 Alexandre Oliva <aoliva@redhat.com>
* function.c (assign_parms): Demote promoted argument passed by
transparent reference.
2001-02-14 Joel Sherrill <joel@OARcorp.com>
* config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
......
......@@ -4749,13 +4749,15 @@ assign_parms (fndecl)
/* If we were passed a pointer but the actual value
can safely live in a register, put it in one. */
if (passed_pointer && TYPE_MODE (TREE_TYPE (parm)) != BLKmode
&& ! ((! optimize
&& ! DECL_REGISTER (parm))
|| TREE_SIDE_EFFECTS (parm)
/* If -ffloat-store specified, don't put explicit
float variables into registers. */
|| (flag_float_store
&& TREE_CODE (TREE_TYPE (parm)) == REAL_TYPE)))
/* If by-reference argument was promoted, demote it. */
&& (TYPE_MODE (TREE_TYPE (parm)) != GET_MODE (DECL_RTL (parm))
|| ! ((! optimize
&& ! DECL_REGISTER (parm))
|| TREE_SIDE_EFFECTS (parm)
/* If -ffloat-store specified, don't put explicit
float variables into registers. */
|| (flag_float_store
&& TREE_CODE (TREE_TYPE (parm)) == REAL_TYPE))))
{
/* We can't use nominal_mode, because it will have been set to
Pmode above. We must use the actual mode of the parm. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment