re PR target/18987 ([ia64] Extra '.restore sp' in tail call)
authorDavid Mosberger <davidm@hpl.hp.com>
Tue, 11 Jan 2005 03:44:10 +0000 (03:44 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 11 Jan 2005 03:44:10 +0000 (19:44 -0800)
Patch from David Mosberger to fix -fno-omit-frame-pointer bug.
PR target/18987
* config/ia64/ia64.c (process_set): For alloc insn, only call
process_epilogue is !frame_pointer_needed.

From-SVN: r93174

gcc/ChangeLog
gcc/config/ia64/ia64.c

index c4e50cbee379ac6cedd22c571da0cb9daa7b3829..1db3edd08954cb9d12e6cc99845d8e7bdd5bc203 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-10  David Mosberger  <davidm@hpl.hp.com>
+
+       PR target/18987
+       * config/ia64/ia64.c (process_set): For alloc insn, only call
+       process_epilogue is !frame_pointer_needed.
+
 2005-01-10  Roger Sayle  <roger@eyesopen.com>
 
        PR c++/19355
index 98ce550dcc29cbdbceaf7279c5b61aa81a52d630..5e8c5cd9970cc7190ba1da042017bacf1564b40a 100644 (file)
@@ -7761,7 +7761,7 @@ process_set (FILE *asm_out_file, rtx pat)
             followed by a new prologue.  If the procedure doesn't
             have a memory-stack frame, we'll issue a dummy ".restore
             sp" now.  */
-         if (current_frame_info.total_size == 0)
+         if (current_frame_info.total_size == 0 && !frame_pointer_needed)
            /* if haven't done process_epilogue() yet, do it now */
            process_epilogue ();
          fprintf (asm_out_file, "\t.prologue\n");