(copy_rtx_and_substitute)[ARGS_GROW_DOWNWARD]: Map
authorRichard Stallman <rms@gnu.org>
Fri, 6 Nov 1992 08:22:05 +0000 (08:22 +0000)
committerRichard Stallman <rms@gnu.org>
Fri, 6 Nov 1992 08:22:05 +0000 (08:22 +0000)
virtual args pointer to the top of the argument block.

From-SVN: r2698

gcc/integrate.c

index 611bbad6d147c5a0c93503b3ce90f26dbac3e8c8..118f49e82c9d3e1e6982c4be63a27932dfaf8121 100644 (file)
@@ -1906,6 +1906,12 @@ copy_rtx_and_substitute (orig, map)
              start_sequence ();
              loc = assign_stack_temp (BLKmode, size, 1);
              loc = XEXP (loc, 0);
+             /* When arguments grow downward, the virtual incoming 
+                args pointer points to the top of the argument block,
+                so the remapped location better do the same. */
+#ifdef ARGS_GROW_DOWNWARD
+             loc = plus_constant (loc, size);
+#endif
              map->reg_map[regno] = temp
                = force_reg (Pmode, force_operand (loc, NULL_RTX));
              map->const_equiv_map[REGNO (temp)] = loc;