s390.c (s390_emit_prologue): Report the stack size if -fstack-usage is used.
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Wed, 10 Nov 2010 11:37:03 +0000 (11:37 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Wed, 10 Nov 2010 11:37:03 +0000 (11:37 +0000)
2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc/config/s390/s390.c (s390_emit_prologue): Report the stack
size if -fstack-usage is used.

2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/stack-usage-1.c: Define SIZE for s390 and s390x.

From-SVN: r166531

gcc/ChangeLog
gcc/config/s390/s390.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/stack-usage-1.c

index f2a0e3836557abde51e9ec888a3703baf19a5921..984adac435072e7e9a866f6ddf52a2bf129ab4b6 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * gcc/config/s390/s390.c (s390_emit_prologue): Report the stack
+       size if -fstack-usage is used.
+
 2010-11-10  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/46398
index 7b2a6ffd4f0a27e349ed6a84c982455c260661f0..9e663a742e28c6a2f861191123fc416e8499514b 100644 (file)
@@ -7948,6 +7948,9 @@ s390_emit_prologue (void)
   if (!TARGET_PACKED_STACK)
     next_fpr = cfun_save_high_fprs_p ? 31 : 0;
 
+  if (flag_stack_usage)
+    current_function_static_stack_size = cfun_frame_layout.frame_size;
+
   /* Decrement stack pointer.  */
 
   if (cfun_frame_layout.frame_size > 0)
index 32ee4fabf6118d3005e4b78c1a3cc9d8afbbec42..468b8633ee87796a93c799e8dd993fce9c8ab5ff 100644 (file)
@@ -1,3 +1,7 @@
+2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * gcc.dg/stack-usage-1.c: Define SIZE for s390 and s390x.
+
 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gnat.dg/unchecked_convert7.adb: New test.
index befe4cbc1377119238bf94b00ab8c326cff51d8e..6c9199011ca4758baf029ce50ce22605ad40977c 100644 (file)
 #  define SIZE 240
 #elif defined (__AVR__)
 #  define SIZE 254
+#elif defined (__s390x__)
+#  define SIZE 96  /* 256 - 160 bytes for register save area */
+#elif defined (__s390__)
+#  define SIZE 160 /* 256 -  96 bytes for register save area */
 #else
 #  define SIZE 256
 #endif