integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Tue, 9 Dec 1997 16:29:43 +0000 (16:29 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 9 Dec 1997 16:29:43 +0000 (09:29 -0700)
        * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
From Kenner, fixes more ADDRESSOF problems.

From-SVN: r17027

gcc/ChangeLog
gcc/integrate.c

index 6f256057c82d62c5f2904778a2ecee419729a2f8..73c4a9bb30b984fb1c1a01455bd86ced278fbdae 100644 (file)
@@ -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.
index 6854cf66a971262fc32ee217d61df1a70255a92d..2b2c8560918c815d5a4a27395429a1aed4d22e35 100644 (file)
@@ -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));