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> 2001-02-14 Joel Sherrill <joel@OARcorp.com>
* config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
......
...@@ -4749,13 +4749,15 @@ assign_parms (fndecl) ...@@ -4749,13 +4749,15 @@ assign_parms (fndecl)
/* If we were passed a pointer but the actual value /* If we were passed a pointer but the actual value
can safely live in a register, put it in one. */ can safely live in a register, put it in one. */
if (passed_pointer && TYPE_MODE (TREE_TYPE (parm)) != BLKmode if (passed_pointer && TYPE_MODE (TREE_TYPE (parm)) != BLKmode
&& ! ((! optimize /* If by-reference argument was promoted, demote it. */
&& ! DECL_REGISTER (parm)) && (TYPE_MODE (TREE_TYPE (parm)) != GET_MODE (DECL_RTL (parm))
|| TREE_SIDE_EFFECTS (parm) || ! ((! optimize
/* If -ffloat-store specified, don't put explicit && ! DECL_REGISTER (parm))
float variables into registers. */ || TREE_SIDE_EFFECTS (parm)
|| (flag_float_store /* If -ffloat-store specified, don't put explicit
&& TREE_CODE (TREE_TYPE (parm)) == REAL_TYPE))) 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 /* We can't use nominal_mode, because it will have been set to
Pmode above. We must use the actual mode of the parm. */ 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