From f38cb2aca7ab95c4be53eb54497f91ba8a35e4a9 Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Tue, 22 Feb 2022 12:19:24 -0500 Subject: [PATCH] Split CONFIG_CC_OPTIMIZE_FOR_SIZE into two configs This adds a separate CONFIG_CC_OPTIMIZE_FOR_SPEED option in a choice, in preparation for adding another optimization option. Also convert SH's makefile to use this new option. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Kconfig | 17 ++++++++++++++--- Makefile | 4 +++- arch/sh/lib/Makefile | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Kconfig b/Kconfig index 9dd9ec7f6d..8159c596c0 100644 --- a/Kconfig +++ b/Kconfig @@ -72,15 +72,26 @@ config CLANG_VERSION int default $(shell,$(srctree)/scripts/clang-version.sh $(CC)) +choice + prompt "Optimization level" + default CC_OPTIMIZE_FOR_SIZE + config CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" - default y help - Enabling this option will pass "-Os" instead of "-O2" to gcc - resulting in a smaller U-Boot image. + Enabling this option will pass "-Os" to gcc, resulting in a smaller + U-Boot image. This option is enabled by default for U-Boot. +config CC_OPTIMIZE_FOR_SPEED + bool "Optimize for speed" + help + Enabling this option will pass "-O2" to gcc, resulting in a faster + U-Boot image. + +endchoice + config OPTIMIZE_INLINING bool "Allow compiler to uninline functions marked 'inline' in full U-Boot" help diff --git a/Makefile b/Makefile index 06572ac07e..c04b58d46a 100644 --- a/Makefile +++ b/Makefile @@ -683,7 +683,9 @@ endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os -else +endif + +ifdef CONFIG_CC_OPTIMIZE_FOR_SPEED KBUILD_CFLAGS += -O2 endif diff --git a/arch/sh/lib/Makefile b/arch/sh/lib/Makefile index 9618da1cb3..e7520a328d 100644 --- a/arch/sh/lib/Makefile +++ b/arch/sh/lib/Makefile @@ -12,7 +12,7 @@ obj-$(CONFIG_CMD_SH_ZIMAGEBOOT) += zimageboot.o udivsi3-y := udivsi3_i4i-Os.o -ifneq ($(CONFIG_CC_OPTIMIZE_FOR_SIZE),y) +ifeq ($(CONFIG_CC_OPTIMIZE_FOR_SPEED),y) udivsi3-$(CONFIG_CPU_SH4) := udivsi3_i4i.o endif udivsi3-y += udivsi3.o -- 2.39.5