Commit 1fd3ef7f by Richard Kenner

(assign_parms): Use expr_size when appropriate.

From-SVN: r7228
parent b8c21346
......@@ -3546,21 +3546,14 @@ assign_parms (fndecl, second_time)
if (TYPE_SIZE (type) == 0
|| TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
{
/* This is a variable sized object. */
/* ??? Can we use expr_size here? */
rtx size_rtx = expand_expr (size_in_bytes (type), NULL_RTX,
TYPE_MODE (sizetype), 0);
copy = gen_rtx (MEM, BLKmode,
allocate_dynamic_stack_space (size_rtx, NULL_RTX,
TYPE_ALIGN (type)));
}
/* This is a variable sized object. */
copy = gen_rtx (MEM, BLKmode,
allocate_dynamic_stack_space
(expand_size (parm), NULL_RTX,
TYPE_ALIGN (type)));
else
{
int size = int_size_in_bytes (type);
copy = assign_stack_temp (TYPE_MODE (type), size, 1);
}
copy = assign_stack_temp (TYPE_MODE (type),
int_size_in_bytes (type), 1);
store_expr (parm, copy, 0);
emit_move_insn (parmreg, XEXP (copy, 0));
......
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