integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer just like we would the virtual incoming args...
* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer just like we would the virtual incoming args register when integrating. From-SVN: r28980
This commit is contained in:
parent
08017b74f3
commit
f83a09927c
@ -1,3 +1,9 @@
|
||||
Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
|
||||
just like we would the virtual incoming args register when
|
||||
integrating.
|
||||
|
||||
Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* rs6000.h (ASM_FILE_START): Specify complete filename, including
|
||||
|
@ -2291,7 +2291,9 @@ copy_rtx_and_substitute (orig, map)
|
||||
Small hard registers are returned as-is. Pseudo-registers
|
||||
go through their `reg_map'. */
|
||||
regno = REGNO (orig);
|
||||
if (regno <= LAST_VIRTUAL_REGISTER)
|
||||
if (regno <= LAST_VIRTUAL_REGISTER
|
||||
|| (map->integrating
|
||||
&& DECL_SAVED_INSNS (map->fndecl)->internal_arg_pointer == orig))
|
||||
{
|
||||
/* Some hard registers are also mapped,
|
||||
but others are not translated. */
|
||||
@ -2342,7 +2344,10 @@ copy_rtx_and_substitute (orig, map)
|
||||
emit_insn_after (seq, map->insns_at_start);
|
||||
return temp;
|
||||
}
|
||||
else if (regno == VIRTUAL_INCOMING_ARGS_REGNUM)
|
||||
else if (regno == VIRTUAL_INCOMING_ARGS_REGNUM
|
||||
|| (map->integrating
|
||||
&& (DECL_SAVED_INSNS (map->fndecl)->internal_arg_pointer
|
||||
== orig)))
|
||||
{
|
||||
/* Do the same for a block to contain any arguments referenced
|
||||
in memory. */
|
||||
|
Loading…
Reference in New Issue
Block a user