aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-05-14 08:30:08 -0400
committerTom Rini <trini@konsulko.com>2020-07-01 11:48:05 -0400
commit72c4d40d8ca7df7920dde4bbf1315c836d7ab7c8 (patch)
treeb5aafeda400415459ebd8e224104a5700d24c1b8
parent1f1a0f3db338cdcaad4f83153d1163aa18e08ed5 (diff)
downloadu-boot-72c4d40d8ca7df7920dde4bbf1315c836d7ab7c8.zip
u-boot-72c4d40d8ca7df7920dde4bbf1315c836d7ab7c8.tar.gz
u-boot-72c4d40d8ca7df7920dde4bbf1315c836d7ab7c8.tar.bz2
compilers: Introduce options for forcing inlining on SPL/TPL
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>
-rw-r--r--Kconfig22
-rw-r--r--include/linux/compiler_types.h2
2 files changed, 22 insertions, 2 deletions
diff --git a/Kconfig b/Kconfig
index d5930c3..7ba2665 100644
--- 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
diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
index 72393a8..1a30601 100644
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -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