OSDN Git Service

gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Dec 2007 17:48:43 +0000 (17:48 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Dec 2007 17:48:43 +0000 (17:48 +0000)
* config/mips/mips.c (mips_function_ok_for_sibcall): Use
targetm.binds_local_p instead of DECL_EXTERNAL.

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

gcc/ChangeLog
gcc/config/mips/mips.c

index 7994797..4a99f2d 100644 (file)
@@ -1,3 +1,8 @@
+2007-12-06  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_function_ok_for_sibcall): Use
+       targetm.binds_local_p instead of DECL_EXTERNAL.
+
 2007-12-06  Harsha Jagasia <harsha.jagasia@amd.com>
 
        * tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
index 42e15a0..125f087 100644 (file)
@@ -5611,12 +5611,12 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
       && const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
     return false;
 
-  /* When -minterlink-mips16 is in effect, assume that external
-     functions could be MIPS16 ones unless an attribute explicitly
-     tells us otherwise.  */
+  /* When -minterlink-mips16 is in effect, assume that non-locally-binding
+     functions could be MIPS16 ones unless an attribute explicitly tells
+     us otherwise.  */
   if (TARGET_INTERLINK_MIPS16
       && decl
-      && DECL_EXTERNAL (decl)
+      && !targetm.binds_local_p (decl)
       && !mips_nomips16_decl_p (decl)
       && const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
     return false;