Hi,

this is the 3rd version of the patch, the major change is to address Andrew’s 
concern on the documentation part.

I updated the documentation of this option as following:

'-finline-only-static'
     By default, GCC inlines functions without considering whether they
     are static or not.  This flag guides inliner to only inline static
     functions.  This option has any effect only when inlining itself is
     turned on by the -finline-functions or -finline-small-fiunctions.

     Off by default.

all other changes keep the same as version 2.

please take a look again. and let me know any comment and suggestion.

thanks.

Qing

gcc/ChangeLog

+2018-09-18  Qing Zhao  <qing.z...@oracle.com>
+
+       * cif-code.def (FUNCTION_EXTERN): New CIFCODE.
+       * common.opt (-finline-only-static): New option.
+       * doc/invoke.texi: Document -finline-only-static.
+       * ipa-inline.c (can_inline_edge_p): Control inlining based on
+       function's visibility. 

gcc/testsuite/ChangeLog

+2018-09-18  Qing Zhao  <qing.z...@oracle.com>
+
+       * gcc.dg/inline_only_static.c: New test.
+

Attachment: New-inline-only-static.patch
Description: Binary data

Reply via email to