aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2007-12-06 17:48:43 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-12-06 17:48:43 +0000
commit0b6e16476f5811306bb2ee20ccf862afb584d071 (patch)
tree04e66b09b55a20228276e01f9653e0e90a1960a1
parentf19088fc6f0635d2ae907ccceab891b7ee0e5b9c (diff)
downloadgcc-0b6e16476f5811306bb2ee20ccf862afb584d071.zip
gcc-0b6e16476f5811306bb2ee20ccf862afb584d071.tar.gz
gcc-0b6e16476f5811306bb2ee20ccf862afb584d071.tar.bz2
mips.c (mips_function_ok_for_sibcall): Use targetm.binds_local_p instead of DECL_EXTERNAL.
gcc/ * config/mips/mips.c (mips_function_ok_for_sibcall): Use targetm.binds_local_p instead of DECL_EXTERNAL. From-SVN: r130653
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7994797..4a99f2d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 42e15a0..125f0871 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -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;