From 2e2ecbfab3d3f8aafcfd4ad8e13e0f88c2e0e9fa Mon Sep 17 00:00:00 2001 From: lulingyu-601 Date: Fri, 18 Apr 2025 18:28:45 +0800 Subject: [PATCH 1/3] Apply patch 0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch --- ..._profile_partial_training-for-CFGO-b.patch | 30 +++++++++++++++++++ gcc.spec | 8 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch diff --git a/0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch b/0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch new file mode 100644 index 0000000..88bf919 --- /dev/null +++ b/0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch @@ -0,0 +1,30 @@ +From c5a8fc1ec35310b5f030c05e11af1c32ccf79e4c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=B0=8F=E4=BC=99?= <412998149@qq.com> +Date: Tue, 15 Apr 2025 11:42:33 +0000 +Subject: [PATCH] [CFGO] Enable flag_profile_partial_training for CFGO by + default Enable flag_profile_partial_training for CFGO by default for better + performance. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: 编译小伙 <412998149@qq.com> +--- + gcc/opts.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/opts.cc b/gcc/opts.cc +index 7508fc817..162e14bc2 100644 +--- a/gcc/opts.cc ++++ b/gcc/opts.cc +@@ -2125,6 +2125,7 @@ enable_cfgo_optimizations (struct gcc_options *opts, + SET_OPTION_IF_UNSET (opts, opts_set, flag_modulo_sched, value); + SET_OPTION_IF_UNSET (opts, opts_set, flag_selective_scheduling, value); + SET_OPTION_IF_UNSET (opts, opts_set, flag_rename_registers, value); ++ SET_OPTION_IF_UNSET (opts, opts_set, flag_profile_partial_training, value); + + SET_OPTION_IF_UNSET (opts, opts_set, param_max_inline_insns_auto, 185); + SET_OPTION_IF_UNSET (opts, opts_set, param_inline_unit_growth, 66); +-- +2.48.1 + diff --git a/gcc.spec b/gcc.spec index 7a27a0b..3b6671c 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 77 +%global gcc_release 78 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -813,6 +813,7 @@ Patch3320: 0190-tree-optimization-110702-avoid-zero-based-memory-ref.patch Patch3321: 0191-LoongArch-Change-OSDIR-for-distribution.patch Patch3322: Fix-indentation-and-numbering-errors.diff Patch3323: LoongArch-Allow-attributes-in-non-gnu-namespaces.diff +Patch3324: 0001-Version-Set-version-to-12.3.1.patch %endif # On ARM EABI systems, we do want -gnueabi to be part of the @@ -1957,6 +1958,8 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch -P3321 -p1 %patch -P3322 -p1 %patch -P3323 -p1 +%patch -P3324 -p1 + %endif echo '%{_vendor} %{version}-%{release}' > gcc/DEV-PHASE @@ -4239,6 +4242,9 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Fri Apr 18 2025 lulingyu-601 - 12.3.1-78 +- DESC: CFGO-Enable-flag_profile_partial_training-for-CFGO-b + * Wed Mar 19 2025 liyancheng <412998149@qq.com> - 12.3.1-77 - Type:Bugfix - DESC: Re-enable malloc support below ptr_compression -- Gitee From 1c7bac031f270cf08cb851a562286c12d12555e4 Mon Sep 17 00:00:00 2001 From: lulingyu-601 Date: Sat, 19 Apr 2025 23:43:51 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=9D=9E=E7=89=B9?= =?UTF-8?q?=E6=AE=8A=E6=9E=B6=E6=9E=84=E8=A1=A5=E4=B8=81=E7=9A=84=E5=AE=9A?= =?UTF-8?q?=E4=BD=8D=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gcc.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc.spec b/gcc.spec index 3b6671c..8b8254f 100644 --- a/gcc.spec +++ b/gcc.spec @@ -135,6 +135,7 @@ Provides: bundled(libbacktrace) Provides: bundled(libffi) Provides: gcc(major) = %{gcc_major} +# patches for all arch Patch1: 0001-Version-Set-version-to-12.3.1.patch Patch2: 0002-RISCV-Backport-inline-subword-atomic-patches.patch Patch3: 0003-CONFIG-Regenerate-configure-file.patch @@ -1282,6 +1283,7 @@ not stable, so plugins must be rebuilt any time GCC is updated. %prep %setup -q -n gcc-12.3.0 +# patches for all arch %patch -P1 -p1 %patch -P2 -p1 %patch -P3 -p1 -- Gitee From b7ed082b6bcd6c879f84bd46172489248a6c59e1 Mon Sep 17 00:00:00 2001 From: lulingyu-601 Date: Tue, 29 Apr 2025 09:09:23 +0800 Subject: [PATCH 3/3] auto commit --- gcc.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc.spec b/gcc.spec index 8b8254f..5035de5 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 78 +%global gcc_release 79 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -467,6 +467,7 @@ Patch357: 0357-struct-reorg-disable-malloc-support-when-struct_layo.patch Patch358: 0358-struct-reorg-fix-residual-ssa_name-issue.patch Patch359: 0359-tracer-static-Fix-divide-by-zero-error.patch Patch360: 0360-Struct-reorg-Re-enable-malloc-support-below-ptr_comp.patch +Patch361: 0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b.patch # Part 1001-1999 %ifarch sw_64 @@ -1615,6 +1616,8 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch -P358 -p1 %patch -P359 -p1 %patch -P360 -p1 +%patch -P361 -p1 + %ifarch sw_64 %patch -P1001 -p1 @@ -4244,6 +4247,9 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Tue Apr 29 2025 lulingyu-601 - 12.3.1-79 +- DESC: 0001-CFGO-Enable-flag_profile_partial_training-for-CFGO-b + * Fri Apr 18 2025 lulingyu-601 - 12.3.1-78 - DESC: CFGO-Enable-flag_profile_partial_training-for-CFGO-b -- Gitee