build, add -flto for all builds if available
authorkub <derkub@gmail.com>
Wed, 14 Feb 2024 22:32:12 +0000 (23:32 +0100)
committerkub <derkub@gmail.com>
Wed, 14 Feb 2024 22:48:06 +0000 (23:48 +0100)
Makefile

index bd8a5b5..d8f7cae 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,8 @@ CFLAGS += $(call chkCCflag, -fno-caller-saves -fno-guess-branch-probability -fno
 # very old gcc toolchains may not have these options
 CFLAGS += $(call chkCCflag, -fno-tree-loop-if-convert -fipa-pta -fno-ipa-cp)
 endif
+else
+CFLAGS += $(call chkCCflag, -flto)
 endif
 
 # revision info from repository if this not a tagged release
@@ -149,10 +151,6 @@ all: $(TARGET).opk
 endif
 endif
 
-ifneq (,$(filter %mips32r2, $(CFLAGS)))
-CFLAGS += -DMIPS_USE_SYNCI # mips32r2 clear_cache uses SYNCI instead of a syscall
-endif
-
 OBJS += platform/opendingux/inputmap.o
 use_inputmap ?= 1
 
@@ -416,6 +414,10 @@ ifneq (,$(findstring -flto,$(CFLAGS)))
 # to avoid saving and reloading it. However, this collides with the use of LTO.
 pico/32x/memory.o: CFLAGS += -fno-lto
 pico/32x/sh2soc.o: CFLAGS += -fno-lto
+cpu/sh2/compiler.o: CFLAGS += -fno-lto
+endif
+ifneq (,$(filter mips64%, $(ARCH))$(filter %mips32r2, $(CFLAGS)))
+CFLAGS += -DMIPS_USE_SYNCI # mips32r2 clear_cache uses SYNCI instead of a syscall
 endif
 endif