expr.c (emit_push_insn): When doing a partial push...
* expr.c (emit_push_insn): When doing a partial push, emit a CLOBBER so that flow doesn't think the entire register is live. From-SVN: r11622
This commit is contained in:
parent
bed95fa1ac
commit
9c7be814e6
@ -2350,6 +2350,12 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
|
||||
Default is below for small data on big-endian machines; else above. */
|
||||
enum direction where_pad = FUNCTION_ARG_PADDING (mode, type);
|
||||
|
||||
/* If we're placing part of X into a register and part of X onto
|
||||
the stack, indicate that the entire register is clobbered to
|
||||
keep flow from thinking the unused part of the register is live. */
|
||||
if (partial)
|
||||
emit_insn (gen_rtx (CLOBBER, VOIDmode, reg));
|
||||
|
||||
/* Invert direction if stack is post-update. */
|
||||
if (STACK_PUSH_CODE == POST_INC || STACK_PUSH_CODE == POST_DEC)
|
||||
if (where_pad != none)
|
||||
|
Loading…
Reference in New Issue
Block a user