]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
bfin.opt (minline-plt): Add.
authorJie Zhang <jie.zhang@analog.com>
Wed, 29 Aug 2007 09:13:16 +0000 (09:13 +0000)
committerJie Zhang <jiez@gcc.gnu.org>
Wed, 29 Aug 2007 09:13:16 +0000 (09:13 +0000)
* 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

gcc/ChangeLog
gcc/config/bfin/bfin.c
gcc/config/bfin/bfin.opt
gcc/doc/invoke.texi

index 9e2f445e77b38102c8a0d3d3d229d697f5ccd326..49c6defdc0690562eb5954e69eff893d47b75786 100644 (file)
@@ -1,3 +1,11 @@
+2007-08-28  Jie Zhang  <jie.zhang@analog.com>
+
+       * 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.
+
 2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
 
        * config/m68k/m68k.c (m68k_get_function_kind): Assert we're never
index 2d27c3244b65925b9c3250f0b9cba951ee98078d..b34e130628422420441b24d1878786f19d551c27 100644 (file)
@@ -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))
index 2871cbf179b597abba9030633ae5454078667dbf..56d37b54a9345b832cf1a237e2e20081f8681cc0 100644 (file)
@@ -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
index 8279e598301d1add7b599a5519ed949bd12f9e5e..1c12d207b491f3f9f4e41a7f3921d272992c44de 100644 (file)
@@ -450,7 +450,7 @@ Objective-C and Objective-C++ Dialects}.
 -mstack-check-l1  -mid-shared-library  -mno-id-shared-library @gol
 -mshared-library-id=@var{n}  -mleaf-id-shared-library @gol
 -mno-leaf-id-shared-library  -msep-data  -mno-sep-data  -mlong-calls @gol
--mno-long-calls -mfast-fp}
+-mno-long-calls -mfast-fp -minline-plt}
 
 @emph{CRIS Options}
 @gccoptlist{-mcpu=@var{cpu}  -march=@var{cpu}  -mtune=@var{cpu} @gol
@@ -8618,6 +8618,11 @@ function calls via function pointers.
 Link with the fast floating-point library. This library relaxes some of
 the IEEE floating-point standard's rules for checking inputs against
 Not-a-Number (NAN), in the interest of performance.
+
+@item -minline-plt
+@opindex minline-plt
+Enable inlining of PLT entries in function calls to functions that are
+not known to bind locally.  It has no effect without @option{-mfdpic}.
 @end table
 
 @node CRIS Options