summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>1997-12-09 16:29:43 +0000
committerJeff Law <law@gcc.gnu.org>1997-12-09 09:29:43 -0700
commitc1132c273c6f3f90e43bd8d0822f7f190bef6f04 (patch)
treeecbf73b0d3441719f2955826b68da065e32f3f74 /gcc/integrate.c
parenta1d061a1511d793f762d8851ca67d3945714065d (diff)
downloadgcc-c1132c273c6f3f90e43bd8d0822f7f190bef6f04.tar.gz
integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc. From Kenner, fixes more ADDRESSOF problems. From-SVN: r17027
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 6854cf66a97..2b2c8560918 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -415,6 +415,7 @@ save_for_inline_copying (fndecl)
int max_uid;
rtx first_nonparm_insn;
char *new, *new1;
+ rtx *new_parm_reg_stack_loc;
rtx *new2;
/* Make and emit a return-label if we have not already done so.
@@ -522,6 +523,13 @@ save_for_inline_copying (fndecl)
for (i = min_labelno; i < max_labelno; i++)
label_map[i] = gen_label_rtx ();
+ /* Likewise for parm_reg_stack_slot. */
+ new_parm_reg_stack_loc = (rtx *) savealloc (max_parm_reg * sizeof (rtx));
+ for (i = 0; i < max_parm_reg; i++)
+ new_parm_reg_stack_loc[i] = copy_for_inline (parm_reg_stack_loc[i]);
+
+ parm_reg_stack_loc = new_parm_reg_stack_loc;
+
/* Record the mapping of old insns to copied insns. */
insn_map = (rtx *) alloca (max_uid * sizeof (rtx));