GCC 10 appears to have changed -O2 in order to make compilation time faster when using -flto, seemingly at the expense of performance, in particular with regards to how the inliner works. Since -O3 these days shouldn't have the same set of bugs as 10 years ago, this commit defaults new kernel compiles to -O3 when using gcc >= 10.
Cc: linux-kbu...@vger.kernel.org Cc: x...@kernel.org Cc: sta...@vger.kernel.org Cc: hjl.to...@gmail.com Cc: Peter Zijlstra <pet...@infradead.org> Cc: Jakub Jelinek <ja...@redhat.com> Cc: Oleksandr Natalenko <oleksa...@redhat.com> Cc: Arnd Bergmann <a...@arndb.de> Cc: Andrew Morton <a...@linux-foundation.org> Cc: David Laight <david.lai...@aculab.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Masahiro Yamada <yamada.masah...@socionext.com> Signed-off-by: Jason A. Donenfeld <ja...@zx2c4.com> --- Changes v1->v2: - [Oleksandr] Remove O3 dependency on ARC. init/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index 9e22ee8fbd75..f76ec3ccc883 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1245,7 +1245,8 @@ config BOOT_CONFIG choice prompt "Compiler optimization level" - default CC_OPTIMIZE_FOR_PERFORMANCE + default CC_OPTIMIZE_FOR_PERFORMANCE_O3 if GCC_VERSION >= 100000 + default CC_OPTIMIZE_FOR_PERFORMANCE if (GCC_VERSION < 100000 || CC_IS_CLANG) config CC_OPTIMIZE_FOR_PERFORMANCE bool "Optimize for performance (-O2)" @@ -1256,7 +1257,6 @@ config CC_OPTIMIZE_FOR_PERFORMANCE config CC_OPTIMIZE_FOR_PERFORMANCE_O3 bool "Optimize more for performance (-O3)" - depends on ARC imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives help Choosing this option will pass "-O3" to your compiler to optimize -- 2.26.2