]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
compilers: Introduce options for forcing inlining on SPL/TPL
authorTom Rini <trini@konsulko.com>
Thu, 14 May 2020 12:30:08 +0000 (08:30 -0400)
committerTom Rini <trini@konsulko.com>
Wed, 1 Jul 2020 15:48:05 +0000 (11:48 -0400)
There are cases where when we allow the compiler to decide about making
inline decisions rather than forcing them it can save us space.

For now, we keep the default values for inlining that we have had
historically.

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Kconfig
include/linux/compiler_types.h

diff --git a/Kconfig b/Kconfig
index d5930c360aaa8bf706cbe5a8ec3293b2584bc492..7ba2665550824b57520b1508099c99f0830cd8dc 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -65,7 +65,27 @@ config CC_OPTIMIZE_FOR_SIZE
          This option is enabled by default for U-Boot.
 
 config OPTIMIZE_INLINING
-       bool "Allow compiler to uninline functions marked 'inline'"
+       bool "Allow compiler to uninline functions marked 'inline' in full U-Boot"
+       default n
+       help
+         This option determines if U-Boot forces gcc to inline the functions
+         developers have marked 'inline'. Doing so takes away freedom from gcc to
+         do what it thinks is best, which is desirable in some cases for size
+         reasons.
+
+config SPL_OPTIMIZE_INLINING
+       bool "Allow compiler to uninline functions marked 'inline' in SPL"
+       depends on SPL
+       default n
+       help
+         This option determines if U-Boot forces gcc to inline the functions
+         developers have marked 'inline'. Doing so takes away freedom from gcc to
+         do what it thinks is best, which is desirable in some cases for size
+         reasons.
+
+config TPL_OPTIMIZE_INLINING
+       bool "Allow compiler to uninline functions marked 'inline' in TPL"
+       depends on TPL
        default n
        help
          This option determines if U-Boot forces gcc to inline the functions
index 72393a8c1a6c5daeab6bb6403252daeb2aecdb93..1a3060117f140c6b72f2b309e4b6fa1a87c7e508 100644 (file)
@@ -138,7 +138,7 @@ struct ftrace_likely_data {
  * Do not use __always_inline here, since currently it expands to inline again
  * (which would break users of __always_inline).
  */
-#if !defined(CONFIG_OPTIMIZE_INLINING)
+#if !CONFIG_IS_ENABLED(OPTIMIZE_INLINING)
 #define inline inline __attribute__((__always_inline__)) __gnu_inline \
        __inline_maybe_unused notrace
 #else