Commit 99407cf2 by Richard Henderson Committed by Richard Henderson

* config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.

From-SVN: r48297
parent 8aad1777
2001-12-23 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
* config/alpha/alpha.md (UNSPEC_SIBCALL): New.
(sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
(sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
......
......@@ -1008,7 +1008,12 @@ call_operand (op, mode)
if (GET_CODE (op) == REG)
{
if (TARGET_ABI_OSF)
return (REGNO (op) == 27 || REGNO (op) >= FIRST_PSEUDO_REGISTER);
{
/* Disallow virtual registers to cope with pathalogical test cases
such as compile/930117-1.c in which the virtual reg decomposes
to the frame pointer. Which is a hard reg that is not $27. */
return (REGNO (op) == 27 || REGNO (op) > LAST_VIRTUAL_REGISTER);
}
else
return 1;
}
......
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