rtlanal.c (get_initial_register_offset): Fall back to the estimate as long as the...
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 19 Feb 2019 09:25:39 +0000 (09:25 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 19 Feb 2019 09:25:39 +0000 (09:25 +0000)
* rtlanal.c (get_initial_register_offset): Fall back to the estimate
as long as the epilogue isn't completed.

From-SVN: r269013

gcc/ChangeLog
gcc/rtlanal.c

index dba151b12ae4ece99f1ea19fb19410d305a58864..7c4dbd2d56c65b82eb7bd9e0a7242a3e929f3ab8 100644 (file)
@@ -1,3 +1,8 @@
+2019-02-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * rtlanal.c (get_initial_register_offset): Fall back to the estimate
+       as long as the epilogue isn't completed.
+
 2019-02-18  Martin Sebor  <msebor@redhat.com>
 
        * doc/cpp.texi (Conditional syntax): Add __has_attribute,
index 401c38fe0e2944967e538d705dbbf67a78ccdbd7..345f13c6e9911aaa9217f8ac9f8c01b94bc96af9 100644 (file)
@@ -359,10 +359,10 @@ get_initial_register_offset (int from, int to)
   if (to == from)
     return 0;
 
-  /* It is not safe to call INITIAL_ELIMINATION_OFFSET
-     before the reload pass.  We need to give at least
-     an estimation for the resulting frame size.  */
-  if (! reload_completed)
+  /* It is not safe to call INITIAL_ELIMINATION_OFFSET before the epilogue
+     is completed, but we need to give at least an estimate for the stack
+     pointer based on the frame size.  */
+  if (!epilogue_completed)
     {
       offset1 = crtl->outgoing_args_size + get_frame_size ();
 #if !STACK_GROWS_DOWNWARD