diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/integrate.c | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f25605..73c4a9bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc. + Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com) * Partially cleaned up prototyping code from HJ. diff --git a/gcc/integrate.c b/gcc/integrate.c index 6854cf6..2b2c856 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)); |