Commit b55d9ff8 by Richard Kenner

(assign_temp): Add extra arg, DONT_PROMOTE.

Don't return (const_int 0) for VOIDmode.

From-SVN: r10923
parent eb7102fe
......@@ -922,13 +922,16 @@ assign_stack_temp (mode, size, keep)
/* Assign a temporary of given TYPE.
KEEP is as for assign_stack_temp.
MEMORY_REQUIRED is 1 if the result must be addressable stack memory;
it is 0 if a register is OK. */
it is 0 if a register is OK.
DONT_PROMOTE is 1 if we should not promote values in register
to wider modes. */
rtx
assign_temp (type, keep, memory_required)
assign_temp (type, keep, memory_required, dont_promote)
tree type;
int keep;
int memory_required;
int dont_promote;
{
enum machine_mode mode = TYPE_MODE (type);
int unsignedp = TREE_UNSIGNED (type);
......@@ -952,11 +955,9 @@ assign_temp (type, keep, memory_required)
return tmp;
}
if (mode == VOIDmode)
return const0_rtx;
#ifndef PROMOTE_FOR_CALL_ONLY
mode = promote_mode (type, mode, &unsignedp, 0);
if (! dont_promote)
mode = promote_mode (type, mode, &unsignedp, 0);
#endif
return gen_reg_rtx (mode);
......
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