Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BOARD: clean naming of profiling data *.gcda #92

Merged
merged 3 commits into from
Feb 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions package/libretro-gpsp/0001-optimize-flags.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
diff --git a/Makefile b/Makefile
index 5a3bab7..fda6869 100644
index 5a3bab75..f67efe1e 100644
--- a/Makefile
+++ b/Makefile
@@ -482,11 +482,22 @@ else ifeq ($(platform), miyoo)
@@ -2,6 +2,7 @@ DEBUG=0
FRONTEND_SUPPORTS_RGB565=1
FORCE_32BIT_ARCH=0
MMAP_JIT_CACHE=0
+PROFILE ?= 0

UNAME=$(shell uname -a)

@@ -482,11 +483,26 @@ else ifeq ($(platform), miyoo)
CXX = /opt/miyoo/usr/bin/arm-linux-g++
AR = /opt/miyoo/usr/bin/arm-linux-ar
SHARED := -shared -nostdlib -Wl,--version-script=link.T
Expand All @@ -16,10 +24,14 @@ index 5a3bab7..fda6869 100644
+ -flto=4 -fwhole-program -fuse-linker-plugin \
+ -fdata-sections -ffunction-sections -Wl,--gc-sections \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fprofile-use -fprofile-dir=$(BASE_DIR)/../board/miyoo/profile/libretro-gpsp/profile \
+ -fno-unroll-loops \
+ -fbranch-probabilities -Wno-error=coverage-mismatch \
+ -marm
+ifeq ($(PROFILE), YES)
+ CFLAGS += -fprofile-generate=$(HOMEPATH)/profile # rm path if you want dir structure intact at runtime
+ LDFLAGS += -lgcov
+else ifeq ($(PROFILE), APPLY)
+ CFLAGS += -fprofile-use -fbranch-probabilities -Wno-error=coverage-mismatch
+endif
+ ASFLAGS += $(CFLAGS)
+ ARCH = arm
+ MMAP_JIT_CACHE = 1
Expand Down
10 changes: 9 additions & 1 deletion package/libretro-gpsp/libretro-gpsp.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,19 @@ LIBRETRO_GPSP_VERSION = 092c5144827ee3ac07a6af9276244221c303ca41
LIBRETRO_GPSP_SITE = $(call github,libretro,gpsp,$(LIBRETRO_GPSP_VERSION))
LIBRETRO_GPSP_LICENSE = GPL-2.0
LIBRETRO_GPSP_LICENSE_FILES = COPYING
# Optimize build with Profile Guided Optimization (values: 0, YES, APPLY)
LIBRETRO_GPSP_PGO ?= APPLY

ifeq ($(LIBRETRO_GPSP_PGO), APPLY)
define LIBRETRO_GPSP_CONFIGURE_CMDS
cp -r $(BASE_DIR)/../board/miyoo/profile/libretro-gpsp/* $(@D)/
endef
endif

define LIBRETRO_GPSP_BUILD_CMDS
CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO) -Ofast -fdata-sections -ffunction-sections -fsingle-precision-constant -flto" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO)" \
$(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) platform="$(RETROARCH_LIBRETRO_PLATFORM)" OPTIMIZE="$(COMPILER_COMMONS_LDFLAGS_SO)"
$(MAKE) PROFILE="$(LIBRETRO_GPSP_PGO)" CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) platform="$(RETROARCH_LIBRETRO_PLATFORM)" OPTIMIZE="$(COMPILER_COMMONS_LDFLAGS_SO)"
$(TARGET_STRIP) --strip-unneeded $(@D)/*_libretro.so
endef

Expand Down
26 changes: 3 additions & 23 deletions package/libretro-pcsx_rearmed/0001-use-unai-old-gpu.patch
Original file line number Diff line number Diff line change
Expand Up @@ -37,38 +37,18 @@ index 4786a922..e27ec29b 100644
endif

diff --git a/Makefile.libretro b/Makefile.libretro
index 1169d892..144601b3 100644
index 1169d892..9df8fe28 100644
--- a/Makefile.libretro
+++ b/Makefile.libretro
@@ -532,13 +532,25 @@ else ifneq (,$(findstring armv,$(platform)))

else ifeq ($(platform), miyoo)
TARGET := $(TARGET_NAME)_libretro.so
- fpic := -fPIC
- CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant
+ fpic := -fno-PIC
+ CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant -Ofast -fdata-sections -ffunction-sections -fsingle-precision-constant
@@ -536,7 +536,7 @@ else ifeq ($(platform), miyoo)
CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant
CFLAGS += -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO
+ CFLAGS += -flto=auto -fno-common -fno-ipa-cp -fno-caller-saves -fno-regmove -finline-limit=42 \
+ -fuse-linker-plugin \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fprofile-use -fprofile-dir=$(BASE_DIR)/../board/miyoo/profile/libretro-pcsx_rearmed/profile \
+ -fno-unroll-loops -ffast-math \
+ -fbranch-probabilities -Wno-error=coverage-mismatch \
+ -marm
+ CXXFLAGS += $(CFLAGS)
+ CPPFLAGS += $(CFLAGS)
+ ASFLAGS += $(CFLAGS)
+ THREAD_RENDERING := 1
ARCH = arm
- BUILTIN_GPU = unai
+ BUILTIN_GPU = unai_old
DYNAREC = ari64
HAVE_NEON = 0
+ BASE_ADDR_DYNAMIC := 1

# Emscripten
else ifeq ($(platform), emscripten)
diff --git a/plugins/gpu_unai_old/Makefile b/plugins/gpu_unai_old/Makefile
new file mode 100644
index 00000000..1f4b8bdb
Expand Down
44 changes: 44 additions & 0 deletions package/libretro-pcsx_rearmed/0002-optimize-flags.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
diff --git a/Makefile.libretro b/Makefile.libretro
index 1169d892..6ea2dfd6 100644
--- a/Makefile.libretro
+++ b/Makefile.libretro
@@ -4,6 +4,7 @@ DEBUG ?= 0
WANT_ZLIB ?= 1
HAVE_CHD ?= 1
USE_LIBRETRO_VFS ?= 0
+PROFILE ?= 0

# Dynarec options: lightrec, ari64
DYNAREC ?= lightrec
@@ -532,13 +533,29 @@ else ifneq (,$(findstring armv,$(platform)))

else ifeq ($(platform), miyoo)
TARGET := $(TARGET_NAME)_libretro.so
- fpic := -fPIC
- CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant
+ fpic := -fno-PIC
+ CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant -Ofast -fdata-sections -ffunction-sections -fsingle-precision-constant
CFLAGS += -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO
+ CFLAGS += -flto=auto -fno-common -fno-ipa-cp -fno-caller-saves -fno-regmove -finline-limit=42 \
+ -fuse-linker-plugin \
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fno-unroll-loops -ffast-math \
+ -marm
+ CXXFLAGS += $(CFLAGS)
+ CPPFLAGS += $(CFLAGS)
+ ASFLAGS += $(CFLAGS)
+ THREAD_RENDERING := 1
ARCH = arm
BUILTIN_GPU = unai_old
DYNAREC = ari64
HAVE_NEON = 0
+ BASE_ADDR_DYNAMIC := 1
+ifeq ($(PROFILE), YES)
+ CFLAGS += -fprofile-generate=$(HOMEPATH)/profile # rm path if you want dir structure intact at runtime
+ LDFLAGS += -lgcov
+else ifeq ($(PROFILE), APPLY)
+ CFLAGS += -fprofile-use -fbranch-probabilities -Wno-error=coverage-mismatch
+endif

# Emscripten
else ifeq ($(platform), emscripten)
9 changes: 8 additions & 1 deletion package/libretro-pcsx_rearmed/libretro-pcsx_rearmed.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,21 @@ LIBRETRO_PCSX_REARMED_VERSION = 5ee1c9269d333936eba3e7e3259956f601ff5edd
LIBRETRO_PCSX_REARMED_SITE = $(call github,libretro,pcsx_rearmed,$(LIBRETRO_PCSX_REARMED_VERSION))
LIBRETRO_PCSX_REARMED_LICENSE = GPL-2.0
LIBRETRO_PCSX_REARMED_LICENSE_FILES = COPYING
# Optimize build with Profile Guided Optimization (values: 0, YES, APPLY)
LIBRETRO_PCSX_REARMED_PGO ?= APPLY

ifeq ($(LIBRETRO_PCSX_REARMED_PGO), APPLY)
define LIBRETRO_PCSX_REARMED_CONFIGURE_CMDS
cp -r $(BASE_DIR)/../board/miyoo/profile/libretro-pcsx_rearmed/* $(@D)/
endef
endif

define LIBRETRO_PCSX_REARMED_BUILD_CMDS
$(SED) "s|-O2|-O3|g" $(@D)/Makefile
CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO)" \
LDFLAGS="$(TARGET_LDFLAGS) $(COMPILER_COMMONS_LDFLAGS_SO)" \
$(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" AR="$(TARGET_AR)" -C $(@D) -f Makefile.libretro platform="$(RETROARCH_LIBRETRO_PLATFORM)"
$(MAKE) PROFILE="$(LIBRETRO_PCSX_REARMED_PGO)" CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" AR="$(TARGET_AR)" -C $(@D) -f Makefile.libretro platform="$(RETROARCH_LIBRETRO_PLATFORM)"
$(TARGET_STRIP) --strip-unneeded $(@D)/*_libretro.so
endef

Expand Down
30 changes: 19 additions & 11 deletions package/libretro-snes9x2002/0001-optimize-flags.patch
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
diff --git a/Makefile b/Makefile
index b6af83f..f9f146f 100644
index b6af83f..127c61d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
@@ -1,7 +1,8 @@
DEBUG = 0
-LAGFIX = 1
+LAGFIX = 0
USE_OLD_COLOUR_OPS = 0
TARGET_NAME = snes9x2002
+PROFILE ?= 0

@@ -27,12 +27,12 @@ LIBS :=
ifeq ($(platform),)
ifeq (,$(findstring classic_,$(platform)))
@@ -27,12 +28,12 @@ LIBS :=

ifeq ($(platform), unix)
TARGET := $(TARGET_NAME)_libretro.so
Expand All @@ -24,7 +27,7 @@ index b6af83f..f9f146f 100644
SHARED := -dynamiclib

ifeq ($(CROSS_COMPILE),1)
@@ -45,7 +45,7 @@ else ifeq ($(platform), osx)
@@ -45,7 +46,7 @@ else ifeq ($(platform), osx)

else ifneq (,$(findstring ios,$(platform)))
TARGET := $(TARGET_NAME)_libretro_ios.dylib
Expand All @@ -33,7 +36,7 @@ index b6af83f..f9f146f 100644
SHARED := -dynamiclib
MINVERSION :=

@@ -72,7 +72,7 @@ else ifneq (,$(findstring ios,$(platform)))
@@ -72,7 +73,7 @@ else ifneq (,$(findstring ios,$(platform)))
CXXFLAGS += $(MINVERSION)
else ifeq ($(platform), tvos-arm64)
TARGET := $(TARGET_NAME)_libretro_tvos.dylib
Expand All @@ -42,7 +45,7 @@ index b6af83f..f9f146f 100644
SHARED := -dynamiclib
ifeq ($(IOSSDK),)
IOSSDK := $(shell xcodebuild -version -sdk appletvos Path)
@@ -143,7 +143,7 @@ else ifeq ($(platform), wiiu)
@@ -143,7 +144,7 @@ else ifeq ($(platform), wiiu)
# NESC, SNESC, C64 mini
else ifeq ($(platform),$(filter $(platform),classic_armv7_a7 unix-armv7-hardfloat-neon))
TARGET := $(TARGET_NAME)_libretro.so
Expand All @@ -51,7 +54,7 @@ index b6af83f..f9f146f 100644
SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined
CFLAGS += -Ofast \
-flto=4 -fwhole-program -fuse-linker-plugin \
@@ -238,7 +238,7 @@ else ifeq ($(platform), gcw0)
@@ -238,7 +239,7 @@ else ifeq ($(platform), gcw0)
CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc
CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++
AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar
Expand All @@ -60,7 +63,7 @@ index b6af83f..f9f146f 100644
SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined
CFLAGS += -std=c99 -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float
CFLAGS += -fno-builtin -fno-exceptions
@@ -250,14 +250,28 @@ else ifeq ($(platform), miyoo)
@@ -250,14 +251,33 @@ else ifeq ($(platform), miyoo)
CC = /opt/miyoo/usr/bin/arm-linux-gcc
CXX = /opt/miyoo/usr/bin/arm-linux-g++
AR = /opt/miyoo/usr/bin/arm-linux-ar
Expand All @@ -81,8 +84,13 @@ index b6af83f..f9f146f 100644
+ -fno-stack-protector -fno-ident -fomit-frame-pointer \
+ -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
+ -fmerge-all-constants -fno-math-errno \
+ -marm -fno-gcse -fbranch-probabilities -Wno-error=coverage-mismatch \
+ -fprofile-use -fprofile-dir=$(BASE_DIR)/../board/miyoo/profile/libretro-snes9x2002/profile
+ -marm -fno-gcse
+ifeq ($(PROFILE), YES)
+ CFLAGS += -fprofile-generate=$(HOMEPATH)/profile # rm path if you want dir structure intact at runtime
+ LDFLAGS += -lgcov
+else ifeq ($(PROFILE), APPLY)
+ CFLAGS += -fprofile-use -fbranch-probabilities -Wno-error=coverage-mismatch
+endif
+ CFLAGS += -DFAST_ALIGNED_LSB_WORD_ACCESS \
+ -DDINGUX \
+ -DLSB_FIRST \
Expand All @@ -93,7 +101,7 @@ index b6af83f..f9f146f 100644
# Windows MSVC 2010 x64
else ifeq ($(platform), windows_msvc2010_x64)
CC = cl.exe
@@ -396,7 +410,7 @@ LIBRETRO_DIR := ./libretro
@@ -396,7 +416,7 @@ LIBRETRO_DIR := ./libretro
ifeq ($(DEBUG), 1)
DEFINES += -O0 -g
else ifneq (,$(findstring msvc,$(platform)))
Expand Down
10 changes: 9 additions & 1 deletion package/libretro-snes9x2002/libretro-snes9x2002.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,27 @@ LIBRETRO_SNES9X2002_VERSION = 540baad622d9833bba7e0696193cb06f5f02f564
LIBRETRO_SNES9X2002_SITE = $(call github,libretro,snes9x2002,$(LIBRETRO_SNES9X2002_VERSION))
LIBRETRO_SNES9X2002_LICENSE = COPYRIGHT
LIBRETRO_SNES9X2002_NON_COMMERCIAL = y
# Optimize build with Profile Guided Optimization (values: 0, YES, APPLY)
LIBRETRO_SNES9X2002_PGO ?= APPLY

# Dynarec on all boards
#LIBRETRO_SNES9X2002_SUPP_OPT=USE_DYNAREC=1

#LIBRETRO_SNES9X2002_SUPP_OPT+=ARM_ASM=1
#LIBRETRO_SNES9X2002_SUPP_CFLAGS+=-Wa,-mimplicit-it=thumb

ifeq ($(LIBRETRO_SNES9X2002_PGO), APPLY)
define LIBRETRO_SNES9X2002_CONFIGURE_CMDS
cp -r $(BASE_DIR)/../board/miyoo/profile/libretro-snes9x2002/* $(@D)/
endef
endif

define LIBRETRO_SNES9X2002_BUILD_CMDS
$(SED) "s|-O2|-O3|g" $(@D)/Makefile
CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO) $(LIBRETRO_SNES9X2002_SUPP_CFLAGS)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO)" \
LDFLAGS="$(TARGET_LDFLAGS) $(COMPILER_COMMONS_LDFLAGS_SO)" \
$(MAKE) $(LIBRETRO_SNES9X2002_SUPP_OPT) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) platform="$(RETROARCH_LIBRETRO_PLATFORM)"
$(MAKE) PROFILE="$(LIBRETRO_SNES9X2002_PGO)" $(LIBRETRO_SNES9X2002_SUPP_OPT) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) platform="$(RETROARCH_LIBRETRO_PLATFORM)"
$(TARGET_STRIP) --strip-unneeded $(@D)/*_libretro.so
endef

Expand Down
Loading