Commit b79ee7eb by Richard Henderson Committed by Richard Henderson

combine.c (can_combine_p): Don't combine with an asm whose output is a hard register.

        * combine.c (can_combine_p): Don't combine with an asm whose
        output is a hard register.

From-SVN: r15940
parent 5c19a356
Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
* combine.c (can_combine_p): Don't combine with an asm whose
output is a hard register.
Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
* c-decl.c (start_struct): Ensure that structs with forward
......
......@@ -1003,6 +1003,13 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc)
&& p != succ && volatile_refs_p (PATTERN (p)))
return 0;
/* If INSN is an asm, and DEST is a hard register, reject, since it has
to be an explicit register variable, and was chosen for a reason. */
if (GET_CODE (src) == ASM_OPERANDS
&& GET_CODE (dest) == REG && REGNO (dest) < FIRST_PSEUDO_REGISTER)
return 0;
/* If there are any volatile insns between INSN and I3, reject, because
they might affect machine state. */
......
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