From ed6a7e18af8f4dfddee6e6b144f20dfaf6926315 Mon Sep 17 00:00:00 2001 From: Joshua Henderson Date: Mon, 26 Mar 2018 12:34:05 -0700 Subject: [PATCH] Config.in: add -Ofast option -Ofast (introduced in GCC 4.6) It combines the existing optimization level -O3 with options that can affect standards compliance but result in better optimized code. For example, -Ofast enables -ffast-math. Signed-off-by: Joshua Henderson Signed-off-by: Thomas Petazzoni --- Config.in | 11 +++++++++++ package/Makefile.in | 3 +++ 2 files changed, 14 insertions(+) diff --git a/Config.in b/Config.in index 0002df5176..037ea2265b 100644 --- a/Config.in +++ b/Config.in @@ -527,6 +527,17 @@ config BR2_OPTIMIZE_S -ftree-vect-loop-version This is the default. +config BR2_OPTIMIZE_FAST + bool "optimize for fast" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + help + Optimize for fast. Disregard strict standards + compliance. -Ofast enables all -O3 optimizations. It also + enables optimizations that are not valid for all + standard-compliant programs. It turns on -ffast-math and the + Fortran-specific -fstack-arrays, unless -fmax-stack-var-size + is specified, and -fno-protect-parens. + endchoice config BR2_GOOGLE_BREAKPAD_ENABLE diff --git a/package/Makefile.in b/package/Makefile.in index e387ce67fe..828e12e7d7 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -128,6 +128,9 @@ endif ifeq ($(BR2_OPTIMIZE_S),y) TARGET_OPTIMIZATION = -Os endif +ifeq ($(BR2_OPTIMIZE_FAST),y) +TARGET_OPTIMIZATION = -Ofast +endif ifeq ($(BR2_DEBUG_1),y) TARGET_DEBUGGING = -g1 endif -- 2.30.2