aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-01-14 16:21:29 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-14 21:27:15 -0500
commit9ab34fe76114b9538bfcaf3a9d112dee0feb5f17 (patch)
tree3bd494625e6bef27f876d37f39fe537d554af571
parent40fc55cb69c0386504ab5184e9bea0a7aecb2bd3 (diff)
[PATCH] enable unit-at-a-time optimisations for gcc4
Allow gcc4 compilers to optimize unit-at-a-time. This flag enables gcc to "see" the entire C file before making optimisation decisions such as inline, which results in gcc making better decisions. One of the immediate effects of this is that static functions that are used only once now get inlined. gcc 3.4 has this flag as well, however gcc 3.x have a problem with inlining and stacks and as a result, enabling this flag there would cause excessive and unacceptable stack use. This problem is fixed in the gcc 4.x series. The x86-64 architecture already enables this feature so it's well tested already. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@infradead.org> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/Makefile6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/i386/Makefile b/arch/i386/Makefile
index d3c0409d201c..bd2d53a9dd2b 100644
--- a/arch/i386/Makefile
+++ b/arch/i386/Makefile
@@ -42,9 +42,9 @@ include $(srctree)/arch/i386/Makefile.cpu
42cflags-$(CONFIG_REGPARM) += $(shell if [ $(call cc-version) -ge 0300 ] ; then \ 42cflags-$(CONFIG_REGPARM) += $(shell if [ $(call cc-version) -ge 0300 ] ; then \
43 echo "-mregparm=3"; fi ;) 43 echo "-mregparm=3"; fi ;)
44 44
45# Disable unit-at-a-time mode, it makes gcc use a lot more stack 45# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
46# due to the lack of sharing of stacklots. 46# a lot more stack due to the lack of sharing of stacklots:
47CFLAGS += $(call cc-option,-fno-unit-at-a-time) 47CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)
48 48
49CFLAGS += $(cflags-y) 49CFLAGS += $(cflags-y)
50 50