Commit 74bd77a8 by Richard Stallman

entered into RCS

From-SVN: r1594
parent 8d7bbe5f
...@@ -2804,14 +2804,8 @@ assign_parms (fndecl, second_time) ...@@ -2804,14 +2804,8 @@ assign_parms (fndecl, second_time)
} }
DECL_RTL (parm) = stack_parm; DECL_RTL (parm) = stack_parm;
} }
else if (! ( else if (! ((obey_regdecls && ! DECL_REGISTER (parm)
#if 0 /* This change was turned off because it makes compilation bigger. */
!optimize
#else /* It's not clear why the following was replaced. */
/* Obsoleted by preceding line. */
(obey_regdecls && ! DECL_REGISTER (parm)
&& ! DECL_INLINE (fndecl)) && ! DECL_INLINE (fndecl))
#endif
/* layout_decl may set this. */ /* layout_decl may set this. */
|| TREE_ADDRESSABLE (parm) || TREE_ADDRESSABLE (parm)
|| TREE_SIDE_EFFECTS (parm) || TREE_SIDE_EFFECTS (parm)
...@@ -2858,6 +2852,24 @@ assign_parms (fndecl, second_time) ...@@ -2858,6 +2852,24 @@ assign_parms (fndecl, second_time)
else else
emit_move_insn (parmreg, validize_mem (entry_parm)); emit_move_insn (parmreg, validize_mem (entry_parm));
/* If we were passed a pointer but the actual value
can safely live in a register, put it in one. */
if (passed_pointer && nominal_mode != BLKmode
&& ! ((obey_regdecls && ! DECL_REGISTER (parm)
&& ! DECL_INLINE (fndecl))
/* layout_decl may set this. */
|| TREE_ADDRESSABLE (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)))
{
parmreg = gen_reg_rtx (nominal_mode);
emit_move_insn (parmreg, DECL_RTL (parm));
DECL_RTL (parm) = parmreg;
}
/* In any case, record the parm's desired stack location /* In any case, record the parm's desired stack location
in case we later discover it must live in the stack. */ in case we later discover it must live in the stack. */
if (REGNO (parmreg) >= nparmregs) if (REGNO (parmreg) >= nparmregs)
......
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