integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. fixes many of the inlining problems causing various suite++ and perennial test failures, among others From-SVN: r16171
This commit is contained in:
parent
17ad8a3bb9
commit
f15e65f1fe
@ -1,3 +1,7 @@
|
||||
Fri Oct 24 17:49:10 1997 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
|
||||
|
||||
Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* mn10200.c (indirect_memory_operand): Delete unused function.
|
||||
|
@ -413,6 +413,7 @@ save_for_inline_copying (fndecl)
|
||||
int max_uid;
|
||||
rtx first_nonparm_insn;
|
||||
char *new, *new1;
|
||||
rtx *new2;
|
||||
|
||||
/* Make and emit a return-label if we have not already done so.
|
||||
Do this before recording the bounds on label numbers. */
|
||||
@ -538,6 +539,16 @@ save_for_inline_copying (fndecl)
|
||||
XEXP (regno_reg_rtx[i], 0)
|
||||
= copy_for_inline (XEXP (regno_reg_rtx[i], 0));
|
||||
|
||||
/* Copy the parm_reg_stack_loc array, and substitute for all of the rtx
|
||||
contained in it. */
|
||||
new2 = savealloc (max_parm_reg * sizeof (rtx));
|
||||
bcopy ((char *) parm_reg_stack_loc, (char *) new2,
|
||||
max_parm_reg * sizeof (rtx));
|
||||
parm_reg_stack_loc = new2;
|
||||
for (i = LAST_VIRTUAL_REGISTER + 1; i < max_parm_reg; ++i)
|
||||
if (parm_reg_stack_loc[i])
|
||||
parm_reg_stack_loc[i] = copy_for_inline (parm_reg_stack_loc[i]);
|
||||
|
||||
/* Copy the tree of subblocks of the function, and the decls in them.
|
||||
We will use the copy for compiling this function, then restore the original
|
||||
subblocks and decls for use when inlining this function.
|
||||
|
Loading…
Reference in New Issue
Block a user