* config/s390/s390.c (s390_function_ok_for_sibcall): Use
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Dec 2005 01:00:55 +0000 (01:00 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Dec 2005 01:00:55 +0000 (01:00 +0000)
targetm.binds_local_p to check for local function calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108269 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.c

index 208866f..5faabaf 100644 (file)
@@ -1,3 +1,8 @@
+2005-12-09  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_function_ok_for_sibcall): Use
+       targetm.binds_local_p to check for local function calls.
+
 2005-12-09  Alan Modra  <amodra@bigpond.net.au>
 
        PR debug/24908
index 941e6f2..6766af7 100644 (file)
@@ -8574,7 +8574,7 @@ s390_function_ok_for_sibcall (tree decl, tree exp)
 
   /* The 31 bit PLT code uses register 12 (GOT pointer - caller saved)
      which would have to be restored before the sibcall.  */
-  if (!TARGET_64BIT && flag_pic && decl && TREE_PUBLIC (decl))
+  if (!TARGET_64BIT && flag_pic && decl && !targetm.binds_local_p (decl))
     return false;
 
   /* Register 6 on s390 is available as an argument register but unfortunately