Commit 90aca35a authored by Steve Thomas's avatar Steve Thomas Committed by Thomas Petazzoni
Browse files

gcc: add a BR2_GCC_ENABLE_GRAPHITE option



The gcc graphite optimisations such as loop-interchange, blocking
and loop-flattening, also known as graphite are an optional feature of
gcc that is very well supported since about gcc version 4.5.

This patch adds support for graphite for the toolchain as an optional
flag for versions 4.8 onwards as an optional flag, that is disabled by
default.

Signed-off-by: default avatarSteve Thomas <scjthm@live.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent f1e1a078
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -3,6 +3,9 @@ comment "GCC Options"
config BR2_GCC_NEEDS_MPC
	bool

config BR2_GCC_SUPPORTS_GRAPHITE
	bool

choice
	prompt "GCC compiler Version"
	default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8
@@ -60,6 +63,7 @@ choice
	config BR2_GCC_VERSION_4_8_X
		depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_powerpc64le
		select BR2_GCC_NEEDS_MPC
		select BR2_GCC_SUPPORTS_GRAPHITE
		bool "gcc 4.8.x"

	config BR2_GCC_VERSION_4_8_ARC
@@ -70,6 +74,7 @@ choice
	config BR2_GCC_VERSION_4_9_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
		select BR2_GCC_NEEDS_MPC
		select BR2_GCC_SUPPORTS_GRAPHITE
		bool "gcc 4.9.x"

	config BR2_GCC_VERSION_SNAP
@@ -77,6 +82,7 @@ choice
		select BR2_GCC_NEEDS_MPC
		# musl patches only for gcc 4.7+
		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
		select BR2_GCC_SUPPORTS_GRAPHITE
		bool "gcc snapshot"
endchoice

@@ -180,3 +186,10 @@ config BR2_GCC_ENABLE_LIBMUDFLAP
	  the help of the gcc -fmudflap option for more details.

	  If you're unsure, leave this option disabled.

config BR2_GCC_ENABLE_GRAPHITE
	bool "Enable graphite support"
	depends on BR2_GCC_SUPPORTS_GRAPHITE
	help
	  This option enables the graphite optimizations in the
	  compiler.
+7 −0
Original line number Diff line number Diff line
@@ -154,6 +154,13 @@ HOST_GCC_COMMON_DEPENDENCIES += host-mpc
HOST_GCC_COMMON_CONF_OPT += --with-mpc=$(HOST_DIR)/usr
endif

ifeq ($(BR2_GCC_ENABLE_GRAPHITE),y)
HOST_GCC_COMMON_DEPENDENCIES += host-isl host-cloog
HOST_GCC_COMMON_CONF_OPT += --with-isl=$(HOST_DIR)/usr --with-cloog=$(HOST_DIR)/usr
else
HOST_GCC_COMMON_CONF_OPT += --without-isl --without-cloog
endif

ifneq ($(BR2_arc)$(BR2_GCC_VERSION_SNAP),)
HOST_GCC_COMMON_DEPENDENCIES += host-flex host-bison
endif