s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
authorUlrich Weigand <uweigand@de.ibm.com>
Wed, 28 Jan 2004 00:14:00 +0000 (00:14 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Wed, 28 Jan 2004 00:14:00 +0000 (00:14 +0000)
* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
* config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
frame if !TARGET_BACKCHAIN.
* config/s390/s390.md ("allocate_stack"): Use pattern only if
TARGET_BACKCHAIN.
* doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.

From-SVN: r76767

gcc/ChangeLog
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.md
gcc/doc/invoke.texi

index c5c093c386f86193e5afbadaf2d11dc9bf65faab..9b739909a8da8f1a399890132994cf4baf6fc280 100644 (file)
@@ -1,3 +1,12 @@
+2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
+       * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
+       frame if !TARGET_BACKCHAIN.
+       * config/s390/s390.md ("allocate_stack"): Use pattern only if 
+       TARGET_BACKCHAIN.
+       * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
+
 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
 
        * ia64.c (ia64_function_arg): When placing HFAs in integer
index e19bf0078798fa891d805e6533593f77eadffbc3..72946aca820f807db1491021a1dd016f461da132 100644 (file)
@@ -5267,6 +5267,11 @@ s390_return_addr_rtx (int count, rtx frame)
 {
   rtx addr;
 
+  /* Without backchain, we fail for all but the current frame.  */
+
+  if (!TARGET_BACKCHAIN && count > 0)
+    return NULL_RTX;
+
   /* For the current frame, we need to make sure the initial
      value of RETURN_REGNUM is actually saved.  */
 
index 48a91ba6666fb380012658d8b141f617e8321735..8ef6b681af28e29ca5a7b1e258c8aa691e855973 100644 (file)
@@ -114,9 +114,9 @@ extern int target_flags;
 #define TARGET_IEEE_FLOAT          1
 
 #ifdef DEFAULT_TARGET_64BIT
-#define TARGET_DEFAULT             0x33
+#define TARGET_DEFAULT             0x31
 #else
-#define TARGET_DEFAULT             0x3
+#define TARGET_DEFAULT             0x1
 #endif
 
 #define TARGET_SWITCHES                                                  \
index 215848b9f1d736a87dde530bcca53de5d6ace9f9..73310fa7415dc32b460a4180d3c468636a20c0be 100644 (file)
         (plus (reg 15) (match_operand 1 "general_operand" "")))
    (set (match_operand 0 "general_operand" "")
         (reg 15))]
- ""
+ "TARGET_BACKCHAIN"
 {
     rtx stack = gen_rtx (REG, Pmode, STACK_POINTER_REGNUM);
     rtx chain = gen_rtx (MEM, Pmode, stack);
index c21bdf370bedd5609d5d9167c34c597f4eeda385..440c3d78f555690125ac1fb3c06957ca07fafb6b 100644 (file)
@@ -10098,8 +10098,9 @@ generates IEEE floating-point instructions.  This is the default.
 @opindex mno-backchain
 Generate (or do not generate) code which maintains an explicit
 backchain within the stack frame that points to the caller's frame.
-This is currently needed to allow debugging.  The default is to
-generate the backchain.
+This may be needed to allow debugging using tools that do not understand
+DWARF-2 call frame information.  The default is not to generate the
+backchain.
 
 @item -msmall-exec
 @itemx -mno-small-exec