From 9abe7a0c48b483955dc436523989f63964cf6980 Mon Sep 17 00:00:00 2001 From: RubenKelevra Date: Sat, 14 May 2022 01:05:03 +0200 Subject: [PATCH] set regions for the integrated register allocator to the default value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit the behaivor of gcc 12 isn't following the docs here. Regardless of the -O2/3 or -march=native/generic/x86-64-v3 it's always set to 'one'. Docs state it should be set to mixed if optimizations are on. Docs: Use specified regions for the integrated register allocator. The region argument should be one of the following: ‘all’ Use all loops as register allocation regions. This can give the best results for machines with a small and/or irregular register set. ‘mixed’ Use all loops except for loops with small register pressure as the regions. This value usually gives the best results in most cases and for most architectures, and is enabled by default when compiling with optimization for speed (-O, -O2, …). ‘one’ Use all functions as a single region. This typically results in the smallest code size, and is enabled by default for -Os or -O0. --- utils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils.go b/utils.go index 5b9d22a..acb4bcf 100644 --- a/utils.go +++ b/utils.go @@ -727,7 +727,7 @@ func setupMakepkg(march string) error { } makepkgStr = strings.ReplaceAll(makepkgStr, " color ", " !color ") // Add align-functions=32, see https://github.com/InBetweenNames/gentooLTO/issues/164 for more - makepkgStr = strings.ReplaceAll(makepkgStr, "-O2", "-O3 -falign-functions=32 -mpclmul -fdevirtualize-at-ltrans -fgcse-sm -fgcse-las -flive-range-shrinkage -fira-loop-pressure -fsched-pressure -fmodulo-sched -fmodulo-sched-allow-regmoves -freschedule-modulo-scheduled-loops -fdelete-dead-exceptions -fgraphite -fgraphite-identity -fsplit-stack -fipa-pta -fisolate-erroneous-paths-attribute") + makepkgStr = strings.ReplaceAll(makepkgStr, "-O2", "-O3 -falign-functions=32 -mpclmul -fdevirtualize-at-ltrans -fgcse-sm -fgcse-las -flive-range-shrinkage -fira-loop-pressure -fsched-pressure -fmodulo-sched -fmodulo-sched-allow-regmoves -freschedule-modulo-scheduled-loops -fdelete-dead-exceptions -fgraphite -fgraphite-identity -fsplit-stack -fipa-pta -fisolate-erroneous-paths-attribute -fira-region=mixed") makepkgStr = strings.ReplaceAll(makepkgStr, "#MAKEFLAGS=\"-j2\"", "MAKEFLAGS=\"-j"+strconv.Itoa(conf.Build.Makej)+"\"") makepkgStr = reMarch.ReplaceAllString(makepkgStr, "${1}"+march) makepkgStr = strings.ReplaceAll(makepkgStr, "#PACKAGER=\"John Doe \"", "PACKAGER=\"ALHP "+march+" \"")