aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2007-08-29 09:13:16 +0000
committerJie Zhang <jiez@gcc.gnu.org>2007-08-29 09:13:16 +0000
commite874e49fdf1e637d510c38b8ca031f6843e3c878 (patch)
treed03ac27538629c3e70d0e5cbc738847ef8fe0f59 /gcc/config
parent1509835994cc7520387a2e8b81a6373a734329fb (diff)
downloadgcc-e874e49fdf1e637d510c38b8ca031f6843e3c878.zip
gcc-e874e49fdf1e637d510c38b8ca031f6843e3c878.tar.gz
gcc-e874e49fdf1e637d510c38b8ca031f6843e3c878.tar.bz2
bfin.opt (minline-plt): Add.
* config/bfin/bfin.opt (minline-plt): Add. * config/bfin/bfin.c (bfin_expand_call): Inline PLT when emit call to global functions. * doc/invoke.texi (Option Summary): Mention -minline-plt. (Blackfin Options): Document -minline-plt. From-SVN: r127886
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/bfin/bfin.c5
-rw-r--r--gcc/config/bfin/bfin.opt4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 2d27c32..b34e130 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -1880,7 +1880,10 @@ bfin_expand_call (rtx retval, rtx fnaddr, rtx callarg1, rtx cookie, int sibcall)
if (TARGET_FDPIC)
{
if (GET_CODE (callee) != SYMBOL_REF
- || bfin_longcall_p (callee, INTVAL (cookie)))
+ || bfin_longcall_p (callee, INTVAL (cookie))
+ || (GET_CODE (callee) == SYMBOL_REF
+ && !SYMBOL_REF_LOCAL_P (callee)
+ && TARGET_INLINE_PLT))
{
rtx addr = callee;
if (! address_operand (addr, Pmode))
diff --git a/gcc/config/bfin/bfin.opt b/gcc/config/bfin/bfin.opt
index 2871cbf..56d37b5 100644
--- a/gcc/config/bfin/bfin.opt
+++ b/gcc/config/bfin/bfin.opt
@@ -72,6 +72,10 @@ mfdpic
Target Report Mask(FDPIC)
Enable Function Descriptor PIC mode
+minline-plt
+Target Report Mask(INLINE_PLT)
+Enable inlining of PLT in function calls
+
mstack-check-l1
Target Report Mask(STACK_CHECK_L1)
Do stack checking using bounds in L1 scratch memory