Re: [TCWG CI] 456.hmmer slowed down by 5% after llvm: Revert "Allow rematerialization of virtual reg uses"
I thought the speed up and slow-down from "Allow rematerialization of virtual reg uses" were for different benchmarks, but they are for the same benchmark — 456.hmmer — but for different compilation flags. - At -O2 the patch slows down 456.hmmer by 5% from 751s to 771s. - At -O2 -flto patch speeds up 456.hmmer by 5% from 803s to 765s. Two observations from this: 1. 456.hmmer is very sensitive to this optimisation 2. LTO screws up on 456.hmmer. -- Maxim Kuvyrkov https://www.linaro.org > On 29 Sep 2021, at 14:06, Maxim Kuvyrkov wrote: > > Hi Stanislav, > > Just FYI. Your original patch improved 456.hmmer by 5%, that’s a nice speed > up! > > -- > Maxim Kuvyrkov > https://www.linaro.org > >> On 28 Sep 2021, at 08:21, ci_not...@linaro.org wrote: >> >> After llvm commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 >> Author: Stanislav Mekhanoshin >> >> Revert "Allow rematerialization of virtual reg uses" >> >> the following benchmarks slowed down by more than 2%: >> - 456.hmmer slowed down by 5% from 7649 to 8028 perf samples >> >> Below reproducer instructions can be used to re-build both "first_bad" and >> "last_good" cross-toolchains used in this bisection. Naturally, the scripts >> will fail when triggerring benchmarking jobs if you don't have access to >> Linaro TCWG CI. >> >> For your convenience, we have uploaded tarballs with pre-processed source >> and assembly files at: >> - First_bad save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/save-temps/ >> - Last_good save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ >> - Baseline save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/save-temps/ >> >> Configuration: >> - Benchmark: SPEC CPU2006 >> - Toolchain: Clang + Glibc + LLVM Linker >> - Version: all components were built from their tip of trunk >> - Target: arm-linux-gnueabihf >> - Compiler flags: -O2 -flto -marm >> - Hardware: NVidia TK1 4x Cortex-A15 >> >> This benchmarking CI is work-in-progress, and we welcome feedback and >> suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans >> is to add support for SPEC CPU2017 benchmarks and provide "perf >> report/annotate" data behind these reports. >> >> THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, >> REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >> >> This commit has regressed these CI configurations: >> - tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O2_LTO >> >> First_bad build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ >> Last_good build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ >> Baseline build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/ >> Even more details: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/ >> >> Reproduce builds: >> >> mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 >> cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 >> >> # Fetch scripts >> git clone https://git.linaro.org/toolchain/jenkins-scripts >> >> # Fetch manifests and test.sh script >> mkdir -p artifacts/manifests >> curl -o artifacts/manifests/build-baseline.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-baseline.sh >> --fail >> curl -o artifacts/manifests/build-parameters.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-parameters.sh >> --fail >> curl -o artifacts/test.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/test.sh >> --fail >> chmod +x artifacts/test.sh >> >> # Reproduce the baseline build (build all pre-requisites) >> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh >> >> # Save baseline build state (which is then restored in artifacts/test.sh) >> mkdir -p ./bisect >> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ >> --exclude /llvm/ ./ ./bisect/baseline/ >> >> cd llvm >> >> # Reproduce first_bad build >> git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 >> ../artifacts/test.sh >> >> # Reproduce last_good build >> git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa8
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
[CCing Jeff and list for broader audience] On 9/27/21 2:53 PM, Maxim Kuvyrkov wrote: Hi Aldy, Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please take a look if this is something that could be easily fixed? First of all, thanks for chasing this down. It's incredibly useful to have these types of bug reports. Jeff and I have been discussing the repercussions of adjusting the loop crossing restrictions in the various threaders. He's seen some regressions in embedded targets when disallowing certain corner cases of loop crossing threads causes all sorts of grief. Out of curiosity, does the attached (untested) patch fix the regression? Aldy Regards, -- Maxim Kuvyrkov https://www.linaro.org On 27 Sep 2021, at 02:52, ci_not...@linaro.org wrote: After gcc commit 4a960d548b7d7d942f316c5295f6d849b74214f5 Author: Aldy Hernandez Avoid invalid loop transformations in jump threading registry. the following benchmarks slowed down by more than 2%: - 471.omnetpp slowed down by 8% from 6348 to 6828 perf samples Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI. For your convenience, we have uploaded tarballs with pre-processed source and assembly files at: - First_bad save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/save-temps/ Configuration: - Benchmark: SPEC CPU2006 - Toolchain: GCC + Glibc + GNU Linker - Version: all components were built from their tip of trunk - Target: arm-linux-gnueabihf - Compiler flags: -O3 -marm - Hardware: NVidia TK1 4x Cortex-A15 This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports. THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O3 First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/ Reproduce builds: mkdir investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 cd investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/ cd gcc # Reproduce first_bad build git checkout --detach 4a960d548b7d7d942f316c5295f6d849b74214f5 ../artifacts/test.sh # Reproduce last_good build git checkout --detach 29c92857039d0a105281be61c10c9e851aaeea4a ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit 4a960d548b7d7d942f316c5295f6d849b74214f5 Author: Aldy Hernandez Date: Thu Sep 23 10:59:24 2021 +0200 Avoid invalid loop transformations in jump threading registry. My upcoming improvements to the forward jump threade
Re: [TCWG CI] Regression caused by linux:30f349097897c115345beabeecc5e710b479ff1e
On Wed, Sep 29, 2021 at 3:41 AM Maxim Kuvyrkov wrote: > > The metric used in this CI loop is number of linux kernel object files > compiled by GCC-11. GCC-11 could compile “all” of linux kernel at last_good > revision, but only 21782 objects at first_bad. Ok, that was not clear in the report email. In particular, it would have been very useful to see the actual failure: > > 00:19:29 drivers/cpufreq/vexpress-spc-cpufreq.c: In function > > ‘ve_spc_cpufreq_exit’: > > 00:19:29 drivers/cpufreq/vexpress-spc-cpufreq.c:454:13: error: unused > > variable ‘cur_cluster’ [-Werror=unused-variable] > > 00:19:29 454 | int cur_cluster = cpu_to_cluster(policy->cpu); > > 00:19:29 | ^~~ > > This is reason behind the failure. Ok, that explains why it's a "merge error" - that's when the PM changes came in, and hit the "-Werror" checking. The actual bug was introduced in commit bb8c26d9387f ("cpufreq: vexpress: Set CPUFREQ_IS_COOLING_DEV flag") but at that point only caused a warning. When it was merged into my tree, that warning turned fatal. Fixed by commit b60cee5bae73 ("cpufreq: vexpress: Drop unused variable") Linus ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
On 9/29/21 7:59 AM, Maxim Kuvyrkov wrote: Does it run like once a day/some-time-period, and if you note a regression, narrow it down? Configurations that track master branches have 3-day intervals. Configurations that track release branches — 6 days. If a regression is detected it is narrowed down to component first — binutils, gcc or glibc — and then the commit range of the component is bisected down to a specific commit. All. Done. Automatically. I will make a presentation on this CI at the next GNU Tools Cauldron. Regardless, I think it could be very useful to be able to see the results of anything you do run at whatever frequency it happens. Thanks! -- One more follow on question.. is this information/summary of the results every 3rd day interval of master published anywhere? ie, to a web page or posted somewhere? that seems like it could useful, especially with a +/- differential from the previous run (which you obviously calculate to determine if there is a regression). Anyway, I like it! Andrew ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: test-mail
test On Thu, 30 Sept 2021 at 09:35, Prasanth Nair wrote: > test-mail > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [CI-NOTIFY]: TCWG Bisect tcwg_kernel/llvm-master-aarch64-lts-allmodconfig - Build # 6 - Successful!
Hi Greg, This appears to have been a fluke. Boot-testing succeeded before the merge and failed after. Boot-testing on allmodconfig doesn’t seem to be stable, so we are going to disable it. Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 18 Aug 2021, at 08:38, Greg Kroah-Hartman > wrote: > > On Wed, Aug 18, 2021 at 05:22:07AM +, ci_not...@linaro.org wrote: >> Successfully identified regression in *linux* in CI configuration >> tcwg_kernel/llvm-master-aarch64-lts-allmodconfig. So far, this commit has >> regressed CI configurations: >> - tcwg_kernel/llvm-master-aarch64-lts-allmodconfig >> >> Culprit: >> >> commit 132a8267adabd645476b542b3b132c1b91988fe8 >> Author: Greg Kroah-Hartman >> Date: Thu Aug 12 13:22:21 2021 +0200 >> >>Linux 5.10.58 > > > > And what am I supposed to do with this information? > > -- > You received this message because you are subscribed to the Google Groups > "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clang-built-linux+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/clang-built-linux/YRyczv2OCq51edQh%40kroah.com. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [TCWG CI] 464.h264ref slowed down by 3% after llvm: Fix test from 8dd42f, capitalization in test
This is a fluke. The bisection is searching for an 8% regression in 464.h264ref and it tripped just above 2% threshold on this patch due to benchmarking noise. -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 14:42, ci_not...@linaro.org wrote: > > After llvm commit e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > Author: Erich Keane > >Fix test from 8dd42f, capitalization in test > > the following benchmarks slowed down by more than 2%: > - 464.h264ref slowed down by 3% from 10973 to 11249 perf samples > - 464.h264ref:[.] FastFullPelBlockMotionSearch slowed down by 12% from 1446 > to 1619 perf samples > > Below reproducer instructions can be used to re-build both "first_bad" and > "last_good" cross-toolchains used in this bisection. Naturally, the scripts > will fail when triggerring benchmarking jobs if you don't have access to > Linaro TCWG CI. > > For your convenience, we have uploaded tarballs with pre-processed source and > assembly files at: > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-77d200a546136c2855063613ff4bca1f682fb23a/save-temps/ > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-baseline/save-temps/ > > Configuration: > - Benchmark: SPEC CPU2006 > - Toolchain: Clang + Glibc + LLVM Linker > - Version: all components were built from their tip of trunk > - Target: aarch64-linux-gnu > - Compiler flags: -O3 > - Hardware: NVidia TX1 4x Cortex-A57 > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans > is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-77d200a546136c2855063613ff4bca1f682fb23a/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-llvm-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > cd investigate-llvm-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /llvm/ ./ ./bisect/baseline/ > > cd llvm > > # Reproduce first_bad build > git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 77d200a546136c2855063613ff4bca1f682fb23a > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > Author: Erich Keane > Date: Fri Sep 24 10:24:17 2021 -0700 > >Fix test from 8dd42f, capitalization in test > --- > clang/test/CXX/drs/dr17xx.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/clang/test/CXX/drs/dr17xx.cpp b/clang/test/CXX/drs/dr17xx.cpp > index 42303c83ae3c..c8648908ebda 100644 > --- a/clang/test/CXX/drs/dr17xx.cpp > +++ b/
Re: [TCWG CI] Regression caused by binutils: [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp
This is a fluke in bare-metal benchmark. Investigating. Sorry for the noise. -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 12:56, ci_not...@linaro.org wrote: > > [TCWG CI] Regression caused by binutils: [gdb/testsuite] Add > gdb.testsuite/dump-system-info.exp: > commit b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 > Author: Tom de Vries > >[gdb/testsuite] Add gdb.testsuite/dump-system-info.exp > > Results regressed to > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer > --set gcc_override_configure=--disable-multilib --set > gcc_override_configure=--with-cpu=cortex-m4 --set > gcc_override_configure=--with-mode=thumb --set > gcc_override_configure=--with-float=hard: > -8 > # build_abe newlib: > -6 > # build_abe stage2 -- --patch linaro-local/vect-metric-branch --set > gcc_override_configure=--disable-libsanitizer --set > gcc_override_configure=--disable-multilib --set > gcc_override_configure=--with-cpu=cortex-m4 --set > gcc_override_configure=--with-mode=thumb --set > gcc_override_configure=--with-float=hard: > -5 > # true: > 0 > # benchmark -- -O3_VECT_mthumb > artifacts/build-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1/results_id: > 1 > > from > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer > --set gcc_override_configure=--disable-multilib --set > gcc_override_configure=--with-cpu=cortex-m4 --set > gcc_override_configure=--with-mode=thumb --set > gcc_override_configure=--with-float=hard: > -8 > # build_abe newlib: > -6 > # build_abe stage2 -- --patch linaro-local/vect-metric-branch --set > gcc_override_configure=--disable-libsanitizer --set > gcc_override_configure=--disable-multilib --set > gcc_override_configure=--with-cpu=cortex-m4 --set > gcc_override_configure=--with-mode=thumb --set > gcc_override_configure=--with-float=hard: > -5 > # true: > 0 > # benchmark -- -O3_VECT_mthumb artifacts/build-baseline/results_id: > 1 > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-O3_VECT > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-3814a9e1fe77c01c7e872c25afa198537d4ac780/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-binutils-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 > cd investigate-binutils-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /binutils/ ./ ./bisect/baseline/ > > cd binutils > > # Reproduce first_bad build > git checkout --detach b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 3814a9e1fe77c01c7e872c25afa198537d4ac780 > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 > Author: Tom de Vries > Date: Fri Sep 24 12:39:14 2021 +0200 > >[gdb/testsuite] Add gdb.testsuite/dump-system-info.exp > >When interpreting the testsuite results, it's often relevant what kind of >machine the testsuite ran on. On a local
[TCWG CI] 464.h264ref slowed down by 3% after llvm: Fix test from 8dd42f, capitalization in test
After llvm commit e8e2edd8ca88f8b0a7dba141349b2aa83284f3af Author: Erich Keane Fix test from 8dd42f, capitalization in test the following benchmarks slowed down by more than 2%: - 464.h264ref slowed down by 3% from 10973 to 11249 perf samples - 464.h264ref:[.] FastFullPelBlockMotionSearch slowed down by 12% from 1446 to 1619 perf samples Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI. For your convenience, we have uploaded tarballs with pre-processed source and assembly files at: - First_bad save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-77d200a546136c2855063613ff4bca1f682fb23a/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-baseline/save-temps/ Configuration: - Benchmark: SPEC CPU2006 - Toolchain: Clang + Glibc + LLVM Linker - Version: all components were built from their tip of trunk - Target: aarch64-linux-gnu - Compiler flags: -O3 - Hardware: NVidia TX1 4x Cortex-A57 This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports. THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-77d200a546136c2855063613ff4bca1f682fb23a/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/ Reproduce builds: mkdir investigate-llvm-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af cd investigate-llvm-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/24/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /llvm/ ./ ./bisect/baseline/ cd llvm # Reproduce first_bad build git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af ../artifacts/test.sh # Reproduce last_good build git checkout --detach 77d200a546136c2855063613ff4bca1f682fb23a ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit e8e2edd8ca88f8b0a7dba141349b2aa83284f3af Author: Erich Keane Date: Fri Sep 24 10:24:17 2021 -0700 Fix test from 8dd42f, capitalization in test --- clang/test/CXX/drs/dr17xx.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/CXX/drs/dr17xx.cpp b/clang/test/CXX/drs/dr17xx.cpp index 42303c83ae3c..c8648908ebda 100644 --- a/clang/test/CXX/drs/dr17xx.cpp +++ b/clang/test/CXX/drs/dr17xx.cpp @@ -129,7 +129,7 @@ namespace dr1778 { // dr1778: 9 namespace dr1762 { // dr1762: 14 #if __cplusplus >= 201103L float operator ""_E(const char *); - // expected-error@+2 {{invalid suffix on literal; c++11 requires a space between literal and identifier}} + // expected-error@+2 {{invalid suffix on literal; C++11 requires a space between literal and identifier}} // expected-warning@+1 {{user-defined literal suffixes not starting with
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
Hi Aldy, Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please take a look if this is something that could be easily fixed? Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 02:52, ci_not...@linaro.org wrote: > > After gcc commit 4a960d548b7d7d942f316c5295f6d849b74214f5 > Author: Aldy Hernandez > >Avoid invalid loop transformations in jump threading registry. > > the following benchmarks slowed down by more than 2%: > - 471.omnetpp slowed down by 8% from 6348 to 6828 perf samples > > Below reproducer instructions can be used to re-build both "first_bad" and > "last_good" cross-toolchains used in this bisection. Naturally, the scripts > will fail when triggerring benchmarking jobs if you don't have access to > Linaro TCWG CI. > > For your convenience, we have uploaded tarballs with pre-processed source and > assembly files at: > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/save-temps/ > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/save-temps/ > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/save-temps/ > > Configuration: > - Benchmark: SPEC CPU2006 > - Toolchain: GCC + Glibc + GNU Linker > - Version: all components were built from their tip of trunk > - Target: arm-linux-gnueabihf > - Compiler flags: -O3 -marm > - Hardware: NVidia TK1 4x Cortex-A15 > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans > is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O3 > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 > cd investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /gcc/ ./ ./bisect/baseline/ > > cd gcc > > # Reproduce first_bad build > git checkout --detach 4a960d548b7d7d942f316c5295f6d849b74214f5 > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 29c92857039d0a105281be61c10c9e851aaeea4a > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit 4a960d548b7d7d942f316c5295f6d849b74214f5 > Author: Aldy Hernandez > Date: Thu Sep 23 10:59:24 2021 +0200 > >Avoid invalid loop transformations in jump threading registry. > >My upcoming improvements to the forward jump threader make it thread >more aggressively. In investigating some "regressions", I noticed >that it has always allowed threading through empty latches and across >loop boundaries. As we have discussed recently, this should be avoided >until after loop optimizations have run their course. > >Note that this wasn't much of
Re: [CI-NOTIFY]: TCWG Bisect tcwg_kernel/llvm-master-aarch64-next-allyesconfig - Build # 14 - Successful!
> On 3 Aug 2021, at 23:16, Nathan Chancellor wrote: > > On 8/3/2021 12:52 PM, ci_not...@linaro.org wrote: >> Successfully identified regression in *linux* in CI configuration >> tcwg_kernel/llvm-master-aarch64-next-allyesconfig. So far, this commit has >> regressed CI configurations: >> - tcwg_kernel/llvm-master-aarch64-next-allyesconfig >> Culprit: >> >> commit 3d463dd5023b5a58b3c37207d65eeb5acbac2be3 >> Author: Krzysztof Kozlowski >> Date: Thu Jul 29 12:40:19 2021 +0200 >> nfc: fdp: constify several pointers >> Several functions do not modify pointed data so arguments and local >> variables can be const for correctness and safety. This allows also >> making file-scope nci_core_get_config_otp_ram_version array const. >> Signed-off-by: Krzysztof Kozlowski >> >> Signed-off-by: David S. Miller >> ... > > As far as I can tell from these links, next-20210730 is still being tested, > whereas there have been two new linux-next releases that have had this fixed. > Would it be possible to tell the system to test the latest release, which I > believe should build without errors according to our CI? > > https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/1093846606 > Hi Nathan, It can take a couple of days to bisect regressions when build farm is loaded. Other than that, CI automatically picks up new linux-next on every build. Regards, -- Maxim Kuvyrkov https://www.linaro.org ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [CI-NOTIFY]: TCWG Bisect tcwg_kernel/llvm-release-aarch64-next-allnoconfig - Build # 10 - Successful!
> On 28 Jul 2021, at 01:09, Nick Desaulniers wrote: > > On Mon, Jul 26, 2021 at 6:32 PM Nathan Chancellor wrote: >> >> On 7/26/2021 6:26 PM, ci_not...@linaro.org wrote: >>> Successfully identified regression in *linux* in CI configuration >>> tcwg_kernel/llvm-release-aarch64-next-allnoconfig. So far, this commit has >>> regressed CI configurations: >>> - tcwg_kernel/llvm-release-aarch64-next-allnoconfig >>> >>> Culprit: >>> >>> commit 8633ef82f101c040427b57d4df7b706261420b94 >>> Author: Javier Martinez Canillas >>> Date: Fri Jun 25 15:13:59 2021 +0200 >>> >>> drivers/firmware: consolidate EFI framebuffer setup for all arches >>> ... >>> # 00:00:38 make: *** [vmlinux] Error 1 >> >> It is good to see these reports again :) > > Yes! Is Maxim still driving these or is there someone else at Linaro > we should be working with to keep this reports going? Hi Nick, Yes, I’m still looking after tcwg_kernel-llvm and tcwg_kernel-gnu CI loops. There has been a silly bug that stopped reports for several months, but they are back since end of July. I have only now noticed this, while I was digging through email archives. Please add me directly to CC: so that future messages end up in my inbox. -- Maxim Kuvyrkov https://www.linaro.org ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
[TCWG CI] 401.bzip2 grew in size by 2% after llvm: Revert "Allow rematerialization of virtual reg uses"
After llvm commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Revert "Allow rematerialization of virtual reg uses" the following benchmarks grew in size by more than 1%: - 401.bzip2 grew in size by 2% from 46428 to 47368 bytes Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI. For your convenience, we have uploaded tarballs with pre-processed source and assembly files at: - First_bad save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-baseline/save-temps/ Configuration: - Benchmark: SPEC CPU2006 - Toolchain: Clang + Glibc + LLVM Linker - Version: all components were built from their tip of trunk - Target: aarch64-linux-gnu - Compiler flags: -Os -flto - Hardware: APM Mustang 8x X-Gene1 This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports. THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_llvm_apm/llvm-master-aarch64-spec2k6-Os_LTO First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/ Reproduce builds: mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-aarch64-spec2k6-Os_LTO/7/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /llvm/ ./ ./bisect/baseline/ cd llvm # Reproduce first_bad build git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 ../artifacts/test.sh # Reproduce last_good build git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Date: Fri Sep 24 09:53:51 2021 -0700 Revert "Allow rematerialization of virtual reg uses" Reverted due to two distcint performance regression reports. This reverts commit 92c1fd19abb15bc68b1127a26137a69e033cdb39. --- llvm/include/llvm/CodeGen/TargetInstrInfo.h| 12 +- llvm/lib/CodeGen/TargetInstrInfo.cpp |9 +- llvm/test/CodeGen/AMDGPU/remat-sop.mir | 60 - llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll | 28 +- llvm/test/CodeGen/ARM/funnel-shift-rot.ll | 32 +- llvm/test/CodeGen/ARM/funnel-shift.ll | 30 +- .../test/CodeGen/ARM/illegal-bitfield-loadstore.ll | 30 +- llvm/test/CodeGen/ARM/neon-copy.ll | 10 +- llvm/test/CodeGen/Mips/llvm-ir/ashr.ll | 227 +- llvm/test/CodeGen/Mips/llvm-ir/lshr.ll |
Re: [TCWG CI] 462.libquantum grew in size by 3% after llvm: [JumpThreading] Ignore free instructions
Hi Nikita, FYI, your patch seems to increase code-size of 462.libquantum by 3%. Would you please check if this could be easily fixed? Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 01:34, ci_not...@linaro.org wrote: > > After llvm commit 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff > Author: Nikita Popov > >[JumpThreading] Ignore free instructions > > the following benchmarks grew in size by more than 1%: > - 462.libquantum grew in size by 3% from 14035 to 14398 bytes > > Below reproducer instructions can be used to re-build both "first_bad" and > "last_good" cross-toolchains used in this bisection. Naturally, the scripts > will fail when triggerring benchmarking jobs if you don't have access to > Linaro TCWG CI. > > For your convenience, we have uploaded tarballs with pre-processed source and > assembly files at: > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff/save-temps/ > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb/save-temps/ > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-baseline/save-temps/ > > Configuration: > - Benchmark: SPEC CPU2006 > - Toolchain: Clang + Glibc + LLVM Linker > - Version: all components were built from their tip of trunk > - Target: arm-linux-gnueabihf > - Compiler flags: -Os -flto -mthumb > - Hardware: APM Mustang 8x X-Gene1 > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans > is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_llvm_apm/llvm-master-arm-spec2k6-Os_LTO > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-llvm-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff > cd investigate-llvm-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /llvm/ ./ ./bisect/baseline/ > > cd llvm > > # Reproduce first_bad build > git checkout --detach 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff > Author: Nikita Popov > Date: Wed Sep 22 21:34:24 2021 +0200 > >[JumpThreading] Ignore free instructions > >This is basically D108837 but for jump threading. Free instructions >should be ignored for the threading decision. JumpThreading already >skips some free instructions (like pointer bitcasts), but does not >skip various free intrinsics -- in fact, it currently gives them a >fairly large cost of 2. > >Differential Revision: https://reviews.llvm.org/D11029
Re: [TCWG CI] Regression caused by llvm: Revert "Allow rematerialization of virtual reg uses"
Hi Stanislav, The revert of your patch made LLVM compile one less object file in the linux kernel. Presumably, this is due to warning re-appearing after the revert. No need to investigate, imo. Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 04:11, ci_not...@linaro.org wrote: > > [TCWG CI] Regression caused by llvm: Revert "Allow rematerialization of > virtual reg uses": > commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 > Author: Stanislav Mekhanoshin > >Revert "Allow rematerialization of virtual reg uses" > > Results regressed to > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_llvm: > -5 > # build_abe qemu: > -2 > # linux_n_obj: > 21880 > # First few build errors in logs: > # 00:04:00 arch/arm/lib/xor-neon.c:30:2: error: This code requires at least > version 4.6 of GCC [-Werror,-W#warnings] > # 00:04:00 make[1]: *** [scripts/Makefile.build:277: arch/arm/lib/xor-neon.o] > Error 1 > # 00:04:00 make: *** [Makefile:1868: arch/arm/lib] Error 2 > # 00:05:21 crypto/wp512.c:782:13: error: stack frame size (1176) exceeds > limit (1024) in function 'wp512_process_buffer' [-Werror,-Wframe-larger-than] > # 00:05:21 make[1]: *** [scripts/Makefile.build:277: crypto/wp512.o] Error 1 > # 00:08:06 make: *** [Makefile:1868: crypto] Error 2 > # 00:18:48 drivers/gpu/drm/selftests/test-drm_mm.c:372:12: error: stack frame > size (1032) exceeds limit (1024) in function '__igt_reserve' > [-Werror,-Wframe-larger-than] > # 00:18:49 make[4]: *** [scripts/Makefile.build:277: > drivers/gpu/drm/selftests/test-drm_mm.o] Error 1 > # 00:19:07 make[3]: *** [scripts/Makefile.build:540: > drivers/gpu/drm/selftests] Error 2 > # 00:30:18 drivers/firmware/tegra/bpmp-debugfs.c:357:16: error: stack frame > size (1248) exceeds limit (1024) in function 'bpmp_debug_store' > [-Werror,-Wframe-larger-than] > > from > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_llvm: > -5 > # build_abe qemu: > -2 > # linux_n_obj: > 21881 > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_kernel/llvm-master-arm-mainline-allmodconfig > > First_bad build: > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ > Last_good build: > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ > Baseline build: > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 > cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_kernel-llvm-bisect-llvm-master-arm-mainline-allmodconfig/14/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_kernel-build.sh @@ > artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /llvm/ ./ ./bisect/baseline/ > > cd llvm > > # Reproduce first_bad build > git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 > Author: Stanislav Mekhanoshin > Date: Fri Sep 24 09:53:51 2021 -0700 > >Revert "Allow rematerialization of virtual reg uses" > >Reverted due to two distcint performance regression reports. > >This reverts commit 92c1fd19abb15bc68b1127a26137a69e033cdb39. > --- > llvm/include/llvm/CodeGen/TargetInstrInfo.h| 12 +- > llvm/lib/CodeGen/TargetInstrInfo.cpp |9 +- > llvm/test/CodeGen/AMDGPU/remat-sop.mir | 60 - > llvm/test/CodeGen/ARM/arm-shrink-
test-mail
test-mail ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
[TCWG CI] 456.hmmer slowed down by 5% after llvm: Revert "Allow rematerialization of virtual reg uses"
After llvm commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Revert "Allow rematerialization of virtual reg uses" the following benchmarks slowed down by more than 2%: - 456.hmmer slowed down by 5% from 7649 to 8028 perf samples Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI. For your convenience, we have uploaded tarballs with pre-processed source and assembly files at: - First_bad save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/save-temps/ Configuration: - Benchmark: SPEC CPU2006 - Toolchain: Clang + Glibc + LLVM Linker - Version: all components were built from their tip of trunk - Target: arm-linux-gnueabihf - Compiler flags: -O2 -flto -marm - Hardware: NVidia TK1 4x Cortex-A15 This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports. THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O2_LTO First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/ Reproduce builds: mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /llvm/ ./ ./bisect/baseline/ cd llvm # Reproduce first_bad build git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 ../artifacts/test.sh # Reproduce last_good build git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Date: Fri Sep 24 09:53:51 2021 -0700 Revert "Allow rematerialization of virtual reg uses" Reverted due to two distcint performance regression reports. This reverts commit 92c1fd19abb15bc68b1127a26137a69e033cdb39. --- llvm/include/llvm/CodeGen/TargetInstrInfo.h| 12 +- llvm/lib/CodeGen/TargetInstrInfo.cpp |9 +- llvm/test/CodeGen/AMDGPU/remat-sop.mir | 60 - llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll | 28 +- llvm/test/CodeGen/ARM/funnel-shift-rot.ll | 32 +- llvm/test/CodeGen/ARM/funnel-shift.ll | 30 +- .../test/CodeGen/ARM/illegal-bitfield-loadstore.ll | 30 +- llvm/test/CodeGen/ARM/neon-copy.ll | 10 +- llvm/test/CodeGen/Mips/llvm-ir/ashr.ll | 227 +- llvm/test/CodeGen/Mips/llvm-ir/lshr.ll | 206 +- llvm/test/Cod
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
Also, it slightly increases code size of 450.soplex at -Os -flto: https://lists.linaro.org/pipermail/linaro-toolchain/2021-September/007883.html -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 15:53, Maxim Kuvyrkov wrote: > > Hi Aldy, > > Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please > take a look if this is something that could be easily fixed? > > Regards, > > -- > Maxim Kuvyrkov > https://www.linaro.org > >> On 27 Sep 2021, at 02:52, ci_not...@linaro.org wrote: >> >> After gcc commit 4a960d548b7d7d942f316c5295f6d849b74214f5 >> Author: Aldy Hernandez >> >> Avoid invalid loop transformations in jump threading registry. >> >> the following benchmarks slowed down by more than 2%: >> - 471.omnetpp slowed down by 8% from 6348 to 6828 perf samples >> >> Below reproducer instructions can be used to re-build both "first_bad" and >> "last_good" cross-toolchains used in this bisection. Naturally, the scripts >> will fail when triggerring benchmarking jobs if you don't have access to >> Linaro TCWG CI. >> >> For your convenience, we have uploaded tarballs with pre-processed source >> and assembly files at: >> - First_bad save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/save-temps/ >> - Last_good save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/save-temps/ >> - Baseline save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/save-temps/ >> >> Configuration: >> - Benchmark: SPEC CPU2006 >> - Toolchain: GCC + Glibc + GNU Linker >> - Version: all components were built from their tip of trunk >> - Target: arm-linux-gnueabihf >> - Compiler flags: -O3 -marm >> - Hardware: NVidia TK1 4x Cortex-A15 >> >> This benchmarking CI is work-in-progress, and we welcome feedback and >> suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans >> is to add support for SPEC CPU2017 benchmarks and provide "perf >> report/annotate" data behind these reports. >> >> THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, >> REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >> >> This commit has regressed these CI configurations: >> - tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O3 >> >> First_bad build: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/ >> Last_good build: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/ >> Baseline build: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/ >> Even more details: >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/ >> >> Reproduce builds: >> >> mkdir investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 >> cd investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 >> >> # Fetch scripts >> git clone https://git.linaro.org/toolchain/jenkins-scripts >> >> # Fetch manifests and test.sh script >> mkdir -p artifacts/manifests >> curl -o artifacts/manifests/build-baseline.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-baseline.sh >> --fail >> curl -o artifacts/manifests/build-parameters.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-parameters.sh >> --fail >> curl -o artifacts/test.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/test.sh >> --fail >> chmod +x artifacts/test.sh >> >> # Reproduce the baseline build (build all pre-requisites) >> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh >> >> # Save baseline build state (which is then restored in artifacts/test.sh) >> mkdir -p ./bisect >> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ >> --exclude /gcc/ ./ ./bisect/baseline/ >> >> cd gcc >> >> # Reproduce first_bad build >> git checkout --detach 4a960d548b7d7d942f316c5295f6d849b74214f5 >> ../artifacts/test.sh >> >> # Reproduce last_good build >> git checkout --detach 29c92857039d0a105281be61c10c9e851aaeea4a >> ../artifacts/test.sh >> >> cd .. >> >> >> Full commit (up to 1000 lines): >> >> commit 4a960d548b7d7d942f316c5295f6d849b74214f5 >> Author: Aldy Hernandez >> Date: Thu Sep 23 10:59:24 2021 +0200 >> >> Avoid invalid loop transformations in jump threading registry. >> >> My upcoming improvement
Re: [TCWG CI] 400.perlbench slowed down by 6% after llvm: [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest
Hi Arthur, Your patch seems to be slowing down 400.perlbench by 6% — due to slow down of its hot function S_regmatch() by 14%. Could you take a look if this is easily fixable, please? Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 24 Sep 2021, at 15:07, ci_not...@linaro.org wrote: > > After llvm commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > Author: Arthur Eubanks > >[SimplifyCFG] Ignore free instructions when computing cost for folding > branch to common dest > > the following benchmarks slowed down by more than 2%: > - 400.perlbench slowed down by 6% from 9730 to 10312 perf samples > - 400.perlbench:[.] S_regmatch slowed down by 14% from 3660 to 4188 perf > samples > > Below reproducer instructions can be used to re-build both "first_bad" and > "last_good" cross-toolchains used in this bisection. Naturally, the scripts > will fail when triggerring benchmarking jobs if you don't have access to > Linaro TCWG CI. > > For your convenience, we have uploaded tarballs with pre-processed source and > assembly files at: > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/save-temps/ > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-32a50078657dd8beead327a3478ede4e9d730432/save-temps/ > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-baseline/save-temps/ > > Configuration: > - Benchmark: SPEC CPU2006 > - Toolchain: Clang + Glibc + LLVM Linker > - Version: all components were built from their tip of trunk > - Target: aarch64-linux-gnu > - Compiler flags: -O3 > - Hardware: NVidia TX1 4x Cortex-A57 > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans > is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-32a50078657dd8beead327a3478ede4e9d730432/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-llvm-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > cd investigate-llvm-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /llvm/ ./ ./bisect/baseline/ > > cd llvm > > # Reproduce first_bad build > git checkout --detach e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 32a50078657dd8beead327a3478ede4e9d730432 > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > Author: Arthur Eubanks > Date: Fri Aug 27 12:32:59 2021 -0700 > >[SimplifyCFG] Ignore free instructions when computing cost for folding > branch to common dest > >When determining whether to fold branches to a common destination by >merging two blocks, SimplifyCFG will count the numbe
Re: [TCWG CI] 462.libquantum grew in size by 3% after llvm: [JumpThreading] Ignore free instructions
Also, it slows down 464.h264ref by 7% at -O3 -flto: https://lists.linaro.org/pipermail/linaro-toolchain/2021-September/007882.html Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 27 Sep 2021, at 15:59, Maxim Kuvyrkov wrote: > > Hi Nikita, > > FYI, your patch seems to increase code-size of 462.libquantum by 3%. Would > you please check if this could be easily fixed? > > Regards, > > -- > Maxim Kuvyrkov > https://www.linaro.org > >> On 27 Sep 2021, at 01:34, ci_not...@linaro.org wrote: >> >> After llvm commit 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff >> Author: Nikita Popov >> >> [JumpThreading] Ignore free instructions >> >> the following benchmarks grew in size by more than 1%: >> - 462.libquantum grew in size by 3% from 14035 to 14398 bytes >> >> Below reproducer instructions can be used to re-build both "first_bad" and >> "last_good" cross-toolchains used in this bisection. Naturally, the scripts >> will fail when triggerring benchmarking jobs if you don't have access to >> Linaro TCWG CI. >> >> For your convenience, we have uploaded tarballs with pre-processed source >> and assembly files at: >> - First_bad save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff/save-temps/ >> - Last_good save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb/save-temps/ >> - Baseline save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-baseline/save-temps/ >> >> Configuration: >> - Benchmark: SPEC CPU2006 >> - Toolchain: Clang + Glibc + LLVM Linker >> - Version: all components were built from their tip of trunk >> - Target: arm-linux-gnueabihf >> - Compiler flags: -Os -flto -mthumb >> - Hardware: APM Mustang 8x X-Gene1 >> >> This benchmarking CI is work-in-progress, and we welcome feedback and >> suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans >> is to add support for SPEC CPU2017 benchmarks and provide "perf >> report/annotate" data behind these reports. >> >> THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, >> REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >> >> This commit has regressed these CI configurations: >> - tcwg_bmk_llvm_apm/llvm-master-arm-spec2k6-Os_LTO >> >> First_bad build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff/ >> Last_good build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb/ >> Baseline build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/build-baseline/ >> Even more details: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/ >> >> Reproduce builds: >> >> mkdir investigate-llvm-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff >> cd investigate-llvm-1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff >> >> # Fetch scripts >> git clone https://git.linaro.org/toolchain/jenkins-scripts >> >> # Fetch manifests and test.sh script >> mkdir -p artifacts/manifests >> curl -o artifacts/manifests/build-baseline.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/manifests/build-baseline.sh >> --fail >> curl -o artifacts/manifests/build-parameters.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/manifests/build-parameters.sh >> --fail >> curl -o artifacts/test.sh >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_apm-llvm-master-arm-spec2k6-Os_LTO/4/artifact/artifacts/test.sh >> --fail >> chmod +x artifacts/test.sh >> >> # Reproduce the baseline build (build all pre-requisites) >> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh >> >> # Save baseline build state (which is then restored in artifacts/test.sh) >> mkdir -p ./bisect >> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ >> --exclude /llvm/ ./ ./bisect/baseline/ >> >> cd llvm >> >> # Reproduce first_bad build >> git checkout --detach 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff >> ../artifacts/test.sh >> >> # Reproduce last_good build >> git checkout --detach 1a6e1ee42a6af255d45e3fd2fe87021dd31f79bb >> ../artifacts/test.sh >> >> cd .. >> >> >> Full commit (up to 1000 lines): >> >> commit 1e3c6fc7cb9d2ee6a5328881f95d6643afeadbff >> Author: Nikita Popov >> Date: Wed Sep 22 21:34:24 2021 +0200 >> >> [JumpThreading] Ignore free instructions >> >> This is basica
Re: [TCWG CI] Regression caused by linux:30f349097897c115345beabeecc5e710b479ff1e
Hi Linus, > > Merge tag 'pm-5.15-rc1-2’ of > > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm > > Hmm. This is obviously a merge commit, and the last_good one is the > previous merge: > > > from (for last_good == 9c566611ac5cc7b45af943632f7a9b1b6a642991) > > so it's not clear if the CI system has actually bisected anything, or > is just walking my merges one by one. This CI system bisects regressions down to an immediate-child/immediate-parent pair of commits, where child’s metric is worse than parent’s metric. Commit 9c566611ac5c is the first parent commit of 30f349097897, so CI happily picked it. Note that the second parent of 30f349097897 — commit f76c87e8c337 — also tested good, so the problem indeed appears to be in the merge commit itself. > > It's also not clear that the actual regression _is_. No description of > what the actual regression is all about. The metric used in this CI loop is number of linux kernel object files compiled by GCC-11. GCC-11 could compile “all” of linux kernel at last_good revision, but only 21782 objects at first_bad. > 00:19:29 drivers/cpufreq/vexpress-spc-cpufreq.c: In function > ‘ve_spc_cpufreq_exit’: > 00:19:29 drivers/cpufreq/vexpress-spc-cpufreq.c:454:13: error: unused > variable ‘cur_cluster’ [-Werror=unused-variable] > 00:19:29 454 | int cur_cluster = cpu_to_cluster(policy->cpu); > 00:19:29 | ^~~ > 00:19:29 cc1: all warnings being treated as errors > 00:19:29 scripts/Makefile.build:277: recipe for target > 'drivers/cpufreq/vexpress-spc-cpufreq.o' failed > 00:19:29 make[2]: *** [drivers/cpufreq/vexpress-spc-cpufreq.o] Error 1 This is reason behind the failure. > > Can somebody who knows this CI system look into this and maybe clarify > the regression (and clarify these automated emails)? We are improving format and contents of these emails, and will add details on the detected regressions. Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 13 Sep 2021, at 06:26, ci_not...@linaro.org wrote: > > Identified regression caused by > *linux:30f349097897c115345beabeecc5e710b479ff1e*: > commit 30f349097897c115345beabeecc5e710b479ff1e > Merge: 9c566611ac5c f76c87e8c337 > Author: Linus Torvalds > >Merge tag 'pm-5.15-rc1-2' of > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm > > Results regressed to (for first_bad == > 30f349097897c115345beabeecc5e710b479ff1e) > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1: > -5 > # build_abe qemu: > -2 > # linux_n_obj: > 21782 > # First few build errors in logs: > > from (for last_good == 9c566611ac5cc7b45af943632f7a9b1b6a642991) > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1: > -5 > # build_abe qemu: > -2 > # linux_n_obj: > 29893 > # linux build successful: > all > > This commit has regressed these CI configurations: > - tcwg_kernel/gnu-release-arm-mainline-allmodconfig > > Artifacts of last_good build: > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/build-9c566611ac5cc7b45af943632f7a9b1b6a642991/ > Artifacts of first_bad build: > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/build-30f349097897c115345beabeecc5e710b479ff1e/ > Even more details: > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-linux-30f349097897c115345beabeecc5e710b479ff1e > cd investigate-linux-30f349097897c115345beabeecc5e710b479ff1e > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-mainline-allmodconfig/9/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_kernel-build.sh @@ > artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /linux/ ./ ./bisect/baseline/ > > cd linux > > # Reproduce first_bad build > git checkout --detach 30f349097897c115345beabeecc5e710b479ff1e > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 9c566611ac5cc7b45af943632f7a9b1b6a642991 > ../artifacts/test.sh >
Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
Hi Stanislav, Attached is a tarball with -save-temps output (pre-processed source and generated assembly) for first-bad run (your commit) and last-good run (immediate parent of your commit). -- Maxim Kuvyrkov https://www.linaro.org > On 20 Sep 2021, at 23:15, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > Thanks for letting me know. Some regressions are inevitable, however do you > happen to have any analysis and dumps? I myself do not understand ARM ISA > well... > > Stas > > -Original Message- > From: Maxim Kuvyrkov > Sent: Wednesday, September 15, 2021 5:52 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Hi Stanislav, > > FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on 32-bit > ARM at -O2 and -O3 optimization levels. > > -- > Maxim Kuvyrkov > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=bkObPKjWEcK%2FLKi4Vc0q0an1gwCHUmro6OUILcE4Qpg%3D&reserved=0 > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
Thanks, Stanislav. I’ve looked into profile dumps, and 456.hmmer’s hot loop get several additional reloads. E.g., "ldrr1, [sp, #84]” generates 203 additional samples, which translates into 20 seconds of time just for that one instruction. See the attached profile dumps and the the screenshot with the hot loop highlighted. Maybe your patch increases register pressure too much? Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 22 Sep 2021, at 22:35, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > There are actually couple things worth to try if that is easy: > > https://reviews.llvm.org/D109077 > https://reviews.llvm.org/differential/diff/374324/ > > Both may slightly change spill weights and then spilling pattern. > > Stas > > -Original Message- > From: Mekhanoshin, Stanislav > Sent: Wednesday, September 22, 2021 12:09 > To: Maxim Kuvyrkov > Cc: linaro-toolchain > Subject: RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > I assume some of the newly rematerialized instructions caused perf drops. > Probably some very specific ones. I would appreciate if you could point them > to me. > In addition I believe I would need to have a linked or optimized bitcode to > feed into llc. > > Stas > > -Original Message- > From: Maxim Kuvyrkov > Sent: Wednesday, September 22, 2021 12:06 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Hi Stanislav, > > That's fair; I or someone from Linaro will try to analyze this and follow up > here. > > On a more general note, what info would you like to see in these benchmarking > regression reports? > > Thanks, > > -- > Maxim Kuvyrkov > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > > >> On Sep 22, 2021, at 9:40 PM, Mekhanoshin, Stanislav >> wrote: >> >> [AMD Official Use Only] >> >> Hm... I'd really like to help, but I do not think I can do anything with >> megabytes of code in an asm which I do not understand and tons of >> differences in 48 asm files. >> What I can see there is overall less spilling code which was the intent in >> the first place: hmmer has 4 less spill opcodes overall and sphinx has 27 >> less of them. >> I doubt I could say much more without someone pointing to the actual root >> cause. >> >> Stas >> >> -Original Message- >> From: Maxim Kuvyrkov >> Sent: Wednesday, September 22, 2021 5:16 >> To: Mekhanoshin, Stanislav >> Cc: linaro-toolchain >> Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow >> rematerialization of virtual reg uses >> >> [CAUTION: External Email] >> >> Hi Stanislav, >> >> Attached is a tarball with -save-temps output (pre-processed source and >> generated assembly) for first-bad run (your commit) and last-good run >> (immediate parent of your commit). >> >> -- >> Maxim Kuvyrkov >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 >> >>> On 20 Sep 2021, at 23:15, Mekhanoshin, Stanislav >>> wrote: >>> >>> [AMD Official Use Only] >>> >>> Thanks for letting me know. Some regressions are inevitable, however do you >>> happen to have any analysis and dumps? I myself do not understand ARM ISA >>> well... >>> >>> Stas >>> >>> -Original Message- >>> From: Maxim Kuvyrkov >>> Sent: Wednesday, September 15, 2021 5:52 >>> To: Mekhanoshin, Stanislav >>> Cc: linaro-toolchain >>> Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow >>> rematerialization of virtual reg uses >>> >>> [CAUTION: External Email] >>> >>> Hi Stanislav, >>> >>> FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on >>> 32-bit ARM at -O2 and -O3 optimization levels. >>> >>> -- >>> Maxim Kuvyrkov >>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 >>> >> >> > __
Re: [TCWG CI] Regression caused by linux:30f349097897c115345beabeecc5e710b479ff1e
On Sun, Sep 12, 2021 at 8:26 PM wrote: > > Identified regression caused by > *linux:30f349097897c115345beabeecc5e710b479ff1e*: > commit 30f349097897c115345beabeecc5e710b479ff1e > Merge: 9c566611ac5c f76c87e8c337 > Author: Linus Torvalds > > Merge tag 'pm-5.15-rc1-2' of > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Hmm. This is obviously a merge commit, and the last_good one is the previous merge: > from (for last_good == 9c566611ac5cc7b45af943632f7a9b1b6a642991) so it's not clear if the CI system has actually bisected anything, or is just walking my merges one by one. It's also not clear that the actual regression _is_. No description of what the actual regression is all about. Can somebody who knows this CI system look into this and maybe clarify the regression (and clarify these automated emails)? Linus ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
[TCWG CI] 464.h264ref slowed down by 6% after llvm: Revert "Allow rematerialization of virtual reg uses"
After llvm commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Revert "Allow rematerialization of virtual reg uses" the following benchmarks slowed down by more than 2%: - 464.h264ref slowed down by 6% from 11014 to 11697 perf samples - 464.h264ref:[.] FastFullPelBlockMotionSearch slowed down by 40% from 1513 to 2118 perf samples Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI. For your convenience, we have uploaded tarballs with pre-processed source and assembly files at: - First_bad save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-baseline/save-temps/ Configuration: - Benchmark: SPEC CPU2006 - Toolchain: Clang + Glibc + LLVM Linker - Version: all components were built from their tip of trunk - Target: aarch64-linux-gnu - Compiler flags: -O3 - Hardware: NVidia TX1 4x Cortex-A57 This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports. THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/ Reproduce builds: mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/25/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /llvm/ ./ ./bisect/baseline/ cd llvm # Reproduce first_bad build git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 ../artifacts/test.sh # Reproduce last_good build git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 Author: Stanislav Mekhanoshin Date: Fri Sep 24 09:53:51 2021 -0700 Revert "Allow rematerialization of virtual reg uses" Reverted due to two distcint performance regression reports. This reverts commit 92c1fd19abb15bc68b1127a26137a69e033cdb39. --- llvm/include/llvm/CodeGen/TargetInstrInfo.h| 12 +- llvm/lib/CodeGen/TargetInstrInfo.cpp |9 +- llvm/test/CodeGen/AMDGPU/remat-sop.mir | 60 - llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll | 28 +- llvm/test/CodeGen/ARM/funnel-shift-rot.ll | 32 +- llvm/test/CodeGen/ARM/funnel-shift.ll | 30 +- .../test/CodeGen/ARM/illegal-bitfield-loadstore.ll | 30 +- llvm/test/CodeGen/ARM/neon-copy.ll | 10 +- llvm/test/CodeGen/Mips/llvm-ir/ashr.ll
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
> On 27 Sep 2021, at 19:02, Andrew MacLeod wrote: > > On 9/27/21 11:39 AM, Maxim Kuvyrkov via Gcc wrote: >>> On 27 Sep 2021, at 16:52, Aldy Hernandez wrote: >>> >>> [CCing Jeff and list for broader audience] >>> >>> On 9/27/21 2:53 PM, Maxim Kuvyrkov wrote: Hi Aldy, Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please take a look if this is something that could be easily fixed? >>> First of all, thanks for chasing this down. It's incredibly useful to have >>> these types of bug reports. >> Thanks, Aldy, this is music to my ears :-). >> >> We have built this automated benchmarking CI that bisects code-speed and >> code-size regressions down to a single commit. It is still >> work-in-progress, and I’m forwarding these reports to patch authors, whose >> patches caused regressions. If GCC community finds these useful, we can >> also setup posting to one of GCC’s mailing lists. > > I second that this sort of thing is incredibly useful. I don't suppose its > easy to do the reverse?... let patch authors know when they've caused a > significant improvement? :-) That would be much less common I suspect, so > perhaps not worth it :-) We do this occasionally, when identifying a regression in a patch revert commit :-). Seriously, though, it’s an easy enough code-change to the metric, but we are maxing out our benchmarking capacity with current configuration matrix. > > Its certainly very useful when we are making a wholesale change to a pass > which we think is beneficial, but aren't sure. > > And a followup question... Sometimes we have no good way of determining the > widespread run-time effects of a change. You seem to be running SPEC/other > things continuously then? We continuously run SPEC CPU2006 on {arm,aarch64}-{-Os/-O2/-O3}-{no LTO/LTO} matrix for GNU and LLVM toolchains. In the GNU toolchain we track master branches and latest-release branches of Binutils, GCC and Glibc — and detect code-speed and code-size regressions across all toolchain components. > Does it run like once a day/some-time-period, and if you note a regression, > narrow it down? Configurations that track master branches have 3-day intervals. Configurations that track release branches — 6 days. If a regression is detected it is narrowed down to component first — binutils, gcc or glibc — and then the commit range of the component is bisected down to a specific commit. All. Done. Automatically. I will make a presentation on this CI at the next GNU Tools Cauldron. > Regardless, I think it could be very useful to be able to see the results of > anything you do run at whatever frequency it happens. Thanks! -- Maxim Kuvyrkov https://www.linaro.org ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
> On 27 Sep 2021, at 16:52, Aldy Hernandez wrote: > > [CCing Jeff and list for broader audience] > > On 9/27/21 2:53 PM, Maxim Kuvyrkov wrote: >> Hi Aldy, >> Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please >> take a look if this is something that could be easily fixed? > > First of all, thanks for chasing this down. It's incredibly useful to have > these types of bug reports. Thanks, Aldy, this is music to my ears :-). We have built this automated benchmarking CI that bisects code-speed and code-size regressions down to a single commit. It is still work-in-progress, and I’m forwarding these reports to patch authors, whose patches caused regressions. If GCC community finds these useful, we can also setup posting to one of GCC’s mailing lists. > > Jeff and I have been discussing the repercussions of adjusting the loop > crossing restrictions in the various threaders. He's seen some regressions > in embedded targets when disallowing certain corner cases of loop crossing > threads causes all sorts of grief. > > Out of curiosity, does the attached (untested) patch fix the regression? I’ll test the patch and will follow up. Regards, -- Maxim Kuvyrkov https://www.linaro.org > > Aldy > >> Regards, >> -- >> Maxim Kuvyrkov >> https://www.linaro.org >>> On 27 Sep 2021, at 02:52, ci_not...@linaro.org wrote: >>> >>> After gcc commit 4a960d548b7d7d942f316c5295f6d849b74214f5 >>> Author: Aldy Hernandez >>> >>>Avoid invalid loop transformations in jump threading registry. >>> >>> the following benchmarks slowed down by more than 2%: >>> - 471.omnetpp slowed down by 8% from 6348 to 6828 perf samples >>> >>> Below reproducer instructions can be used to re-build both "first_bad" and >>> "last_good" cross-toolchains used in this bisection. Naturally, the >>> scripts will fail when triggerring benchmarking jobs if you don't have >>> access to Linaro TCWG CI. >>> >>> For your convenience, we have uploaded tarballs with pre-processed source >>> and assembly files at: >>> - First_bad save-temps: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/save-temps/ >>> - Last_good save-temps: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/save-temps/ >>> - Baseline save-temps: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/save-temps/ >>> >>> Configuration: >>> - Benchmark: SPEC CPU2006 >>> - Toolchain: GCC + Glibc + GNU Linker >>> - Version: all components were built from their tip of trunk >>> - Target: arm-linux-gnueabihf >>> - Compiler flags: -O3 -marm >>> - Hardware: NVidia TK1 4x Cortex-A15 >>> >>> This benchmarking CI is work-in-progress, and we welcome feedback and >>> suggestions at linaro-toolchain@lists.linaro.org . In our improvement >>> plans is to add support for SPEC CPU2017 benchmarks and provide "perf >>> report/annotate" data behind these reports. >>> >>> THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, >>> REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >>> >>> This commit has regressed these CI configurations: >>> - tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O3 >>> >>> First_bad build: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-4a960d548b7d7d942f316c5295f6d849b74214f5/ >>> Last_good build: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-29c92857039d0a105281be61c10c9e851aaeea4a/ >>> Baseline build: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/build-baseline/ >>> Even more details: >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/ >>> >>> Reproduce builds: >>> >>> mkdir investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 >>> cd investigate-gcc-4a960d548b7d7d942f316c5295f6d849b74214f5 >>> >>> # Fetch scripts >>> git clone https://git.linaro.org/toolchain/jenkins-scripts >>> >>> # Fetch manifests and test.sh script >>> mkdir -p artifacts/manifests >>> curl -o artifacts/manifests/build-baseline.sh >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-baseline.sh >>> --fail >>> curl -o artifacts/manifests/build-parameters.sh >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/manifests/build-parameters.sh >>> --fail >>> curl -o artifacts/test.sh >>> https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm-spec2k6-O3/40/artifact/artifacts/test.sh >>> --fail >>> chmod +x artifacts/
Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
Thanks, Stanislav, FWIW, it will be, probably, easier for you to just rebuild the compiler, it is an x86_64-linux-gnu -> arm-linux-gnueabihf cross. This link has the build log [1]. cmake -G Ninja ../llvm/llvm '-DLLVM_ENABLE_PROJECTS=clang;lld' -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install -DLLVM_TARGETS_TO_BUILD=ARM Then compile the pre-processed source with plain -O2 or -O3 optimisation settings. [1] https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O3/18/artifact/artifacts/build-92c1fd19abb15bc68b1127a26137a69e033cdb39/09-build_llvm-true/ Regards, -- Maxim Kuvyrkov https://www.linaro.org > On 24 Sep 2021, at 20:30, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > I have reverted the whole change. There was yet another perf regression > report. > > Stas > > From: Mekhanoshin, Stanislav > Sent: Thursday, September 23, 2021 11:48 > To: Maxim Kuvyrkov > Cc: linaro-toolchain > Subject: RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > Thanks. I see the reload. There shall not be extra pressure since that is the > whole idea, make pressure less. However, I see more spills in that specific > file, fast_algorithms.s if I get it right. > Can I get the IR for it? Something to feed llc. > > Stas > > From: Maxim Kuvyrkov > Sent: Thursday, September 23, 2021 2:31 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Thanks, Stanislav. > > I’ve looked into profile dumps, and 456.hmmer’s hot loop get several > additional reloads. E.g., "ldrr1, [sp, #84]” generates 203 additional > samples, which translates into 20 seconds of time just for that one > instruction. > > See the attached profile dumps and the the screenshot with the hot loop > highlighted. > > Maybe your patch increases register pressure too much? > > Regards, > > -- > Maxim Kuvyrkov > https://www.linaro.org > > > On 22 Sep 2021, at 22:35, Mekhanoshin, Stanislav > > wrote: > > > > [AMD Official Use Only] > > > > There are actually couple things worth to try if that is easy: > > > > https://reviews.llvm.org/D109077 > > https://reviews.llvm.org/differential/diff/374324/ > > > > Both may slightly change spill weights and then spilling pattern. > > > > Stas > > > > -Original Message- > > From: Mekhanoshin, Stanislav > > Sent: Wednesday, September 22, 2021 12:09 > > To: Maxim Kuvyrkov > > Cc: linaro-toolchain > > Subject: RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > > rematerialization of virtual reg uses > > > > I assume some of the newly rematerialized instructions caused perf drops. > > Probably some very specific ones. I would appreciate if you could point > > them to me. > > In addition I believe I would need to have a linked or optimized bitcode to > > feed into llc. > > > > Stas > > > > -Original Message- > > From: Maxim Kuvyrkov > > Sent: Wednesday, September 22, 2021 12:06 > > To: Mekhanoshin, Stanislav > > Cc: linaro-toolchain > > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > > rematerialization of virtual reg uses > > > > [CAUTION: External Email] > > > > Hi Stanislav, > > > > That's fair; I or someone from Linaro will try to analyze this and follow > > up here. > > > > On a more general note, what info would you like to see in these > > benchmarking regression reports? > > > > Thanks, > > > > -- > > Maxim Kuvyrkov > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > > > > > >> On Sep 22, 2021, at 9:40 PM, Mekhanoshin, Stanislav > >> wrote: > >> > >> [AMD Official Use Only] > >> > >> Hm... I'd really like to help, but I do not think I can do anything with > >> megabytes of code in an asm which I do not understand and tons of > >> differences in 48 asm files. > >> What I can see there is overall less spilling code which was the intent in > >> the first place: hmmer has 4 less spill opcodes overall and sphinx has 27 > >> less of them. > >> I doubt I could say much more without someone pointing to the actual root > >> cause. > >> > >> Stas > >> > >> -Original Message- > >> From: Maxim Kuvyrkov > >> Sent: Wednesday, September 22, 2021 5:16 > >> To: Mekhanoshin, Stanislav > >> Cc: linaro-toolchain > >> Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > >> rematerialization of virtual reg uses > >> > >> [CAUTION: External Email] > >> > >> Hi Stanislav, > >
clang-aarch64-full-2stage buildbot timeout
> > On Sep 22, 2021, at 11:23, Florian Hahn > wrote: > > > > Hi, > > > > It looks like a lot of the recent builds of clang-aarch64-full-2stage are > > timing out. > > > > E.g https://lab.llvm.org/buildbot/#/builders/179/builds/1078 while checking > > out sources > > > https://lab.llvm.org/buildbot/#/builders/179/builds/1076 during building > > stage2 > > > > Is there anything that could be done to avoid such timeouts and avoid false > > positive failure emails? > > > > Cheers, > > Florian Hi Florian, Thanks for the heads up. We’ve noticed these timeouts too, and have reduced the load in the machine. It appears to have helped. > > Looks like other bots are also hit by timeouts, including > clang-arm64-windows-msvc-2stage ( > https://lab.llvm.org/buildbot/#/builders/120/builds/1197 > ) This one looks like a legitimate failure, and appears to have been fixed by https://github.com/llvm/llvm-project/commit/c6013f71a4555f6d9ef9c60e6bc4376ad63f1c47 in build https://lab.llvm.org/buildbot/#/builders/120/builds/1200 . Regards, -- Maxim Kuvyrkov https://www.linaro.org ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
[TCWG CI] Regression caused by binutils: [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp
[TCWG CI] Regression caused by binutils: [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp: commit b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 Author: Tom de Vries [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp Results regressed to # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard: -8 # build_abe newlib: -6 # build_abe stage2 -- --patch linaro-local/vect-metric-branch --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard: -5 # true: 0 # benchmark -- -O3_VECT_mthumb artifacts/build-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1/results_id: 1 from # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard: -8 # build_abe newlib: -6 # build_abe stage2 -- --patch linaro-local/vect-metric-branch --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard: -5 # true: 0 # benchmark -- -O3_VECT_mthumb artifacts/build-baseline/results_id: 1 THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-O3_VECT First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-3814a9e1fe77c01c7e872c25afa198537d4ac780/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/ Reproduce builds: mkdir investigate-binutils-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 cd investigate-binutils-b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O3_VECT/1/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /binutils/ ./ ./bisect/baseline/ cd binutils # Reproduce first_bad build git checkout --detach b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 ../artifacts/test.sh # Reproduce last_good build git checkout --detach 3814a9e1fe77c01c7e872c25afa198537d4ac780 ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit b4e4386a2e58ba6ce8d02b952f1bc6ceb8fc95d1 Author: Tom de Vries Date: Fri Sep 24 12:39:14 2021 +0200 [gdb/testsuite] Add gdb.testsuite/dump-system-info.exp When interpreting the testsuite results, it's often relevant what kind of machine the testsuite ran on. On a local machine one can just do /proc/cpuinfo, but in case of running tests using a remote system that distributes test runs to other remote systems that are not directly accessible, that's not possible. Fix this by dumping /proc/cpuinfo into the gdb.log, as well as lsb_release -a and uname -a. We could do this at the start of each test run, by putting it into unix.exp or some such. How
[TCWG CI] Regression caused by linux: scripts/gcc-plugins: consistently use HOSTCC
[TCWG CI] Regression caused by linux: scripts/gcc-plugins: consistently use HOSTCC: commit e554fdf7141e9edc05e7ece258f45b471af87494 Author: Ross Burton scripts/gcc-plugins: consistently use HOSTCC Results regressed to # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1: -5 # build_abe qemu: -2 # linux_n_obj: 21723 # First few build errors in logs: # 00:02:07 drivers/char/ipmi/ipmi_msghandler.c:4880:1: error: the frame size of 1232 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] # 00:02:07 make[2]: *** [drivers/char/ipmi/ipmi_msghandler.o] Error 1 # 00:02:43 make[1]: *** [drivers/char/ipmi] Error 2 # 00:03:47 lib/crypto/curve25519-fiat32.c:864:1: error: the frame size of 1288 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] # 00:03:47 make[2]: *** [lib/crypto/curve25519-fiat32.o] Error 1 # 00:03:54 make[1]: *** [lib/crypto] Error 2 # 00:03:54 fs/reiserfs/namei.c:1646:1: error: the frame size of 1176 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] # 00:03:54 make[2]: *** [fs/reiserfs/namei.o] Error 1 # 00:04:32 drivers/tty/serial/8250/8250_aspeed_vuart.c:568:1: error: the frame size of 1048 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] # 00:04:32 make[4]: *** [drivers/tty/serial/8250/8250_aspeed_vuart.o] Error 1 from # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1: -5 # build_abe qemu: -2 # linux_n_obj: 29916 # linux build successful: all THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_kernel/gnu-release-arm-next-allmodconfig First_bad build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/build-e554fdf7141e9edc05e7ece258f45b471af87494/ Last_good build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/build-86455276585996fe5b43972aa8f31afcbafabc40/ Baseline build: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/ Reproduce builds: mkdir investigate-linux-e554fdf7141e9edc05e7ece258f45b471af87494 cd investigate-linux-e554fdf7141e9edc05e7ece258f45b471af87494 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests and test.sh script mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-gnu-bisect-gnu-release-arm-next-allmodconfig/21/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh # Save baseline build state (which is then restored in artifacts/test.sh) mkdir -p ./bisect rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /linux/ ./ ./bisect/baseline/ cd linux # Reproduce first_bad build git checkout --detach e554fdf7141e9edc05e7ece258f45b471af87494 ../artifacts/test.sh # Reproduce last_good build git checkout --detach 86455276585996fe5b43972aa8f31afcbafabc40 ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit e554fdf7141e9edc05e7ece258f45b471af87494 Author: Ross Burton Date: Thu Sep 23 16:28:11 2021 +0100 scripts/gcc-plugins: consistently use HOSTCC The GCC plugins are built using HOSTCC, but the path to the GCC plugins headers is obtained using CC. This can lead to interesting failures if the host compiler and cross compiler are different versions, and the host compiler uses the cross headers. Signed-off-by: Ross Burton Signed-off-by: Kees Cook Link: https://lore.kernel.org/r/20210923152811.406516-1-ross.bur...@arm.com --- scripts/gcc-plugins/Kconfig | 2 +- scripts/gcc-plugins/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gcc-plugins/Kconfig b/scripts/gcc-plugins/Kconfig index ab9eb4cbe33a..5dad6d780138 100644 --- a/scripts/gcc-plugins/Kconfig +++ b/scripts/gcc-plugins/Kconfig @@ -9,7 +9,7 @@ menuconfig GCC_PLUGINS bool "GCC plugins" depends on HAVE_GCC_PLUGINS depends on CC_IS_GCC - depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h) + depends on $(success,test -e $(shell,$(HOSTCC) -print-file-name=plugin)/include/plugin-version.h) default y
Re: [TCWG CI] 456.hmmer slowed down by 5% after llvm: Revert "Allow rematerialization of virtual reg uses"
Hi Stanislav, Just FYI. Your original patch improved 456.hmmer by 5%, that’s a nice speed up! -- Maxim Kuvyrkov https://www.linaro.org > On 28 Sep 2021, at 08:21, ci_not...@linaro.org wrote: > > After llvm commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 > Author: Stanislav Mekhanoshin > >Revert "Allow rematerialization of virtual reg uses" > > the following benchmarks slowed down by more than 2%: > - 456.hmmer slowed down by 5% from 7649 to 8028 perf samples > > Below reproducer instructions can be used to re-build both "first_bad" and > "last_good" cross-toolchains used in this bisection. Naturally, the scripts > will fail when triggerring benchmarking jobs if you don't have access to > Linaro TCWG CI. > > For your convenience, we have uploaded tarballs with pre-processed source and > assembly files at: > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/save-temps/ > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/save-temps/ > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/save-temps/ > > Configuration: > - Benchmark: SPEC CPU2006 > - Toolchain: Clang + Glibc + LLVM Linker > - Version: all components were built from their tip of trunk > - Target: arm-linux-gnueabihf > - Compiler flags: -O2 -flto -marm > - Hardware: NVidia TK1 4x Cortex-A15 > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans > is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > This commit has regressed these CI configurations: > - tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O2_LTO > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-08d7eec06e8cf5c15a96ce11f311f1480291a441/ > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-e8e2edd8ca88f8b0a7dba141349b2aa83284f3af/ > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/build-baseline/ > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/ > > Reproduce builds: > > mkdir investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 > cd investigate-llvm-08d7eec06e8cf5c15a96ce11f311f1480291a441 > > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-baseline.sh > --fail > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/manifests/build-parameters.sh > --fail > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm-spec2k6-O2_LTO/16/artifact/artifacts/test.sh > --fail > chmod +x artifacts/test.sh > > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh > > # Save baseline build state (which is then restored in artifacts/test.sh) > mkdir -p ./bisect > rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ > --exclude /llvm/ ./ ./bisect/baseline/ > > cd llvm > > # Reproduce first_bad build > git checkout --detach 08d7eec06e8cf5c15a96ce11f311f1480291a441 > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach e8e2edd8ca88f8b0a7dba141349b2aa83284f3af > ../artifacts/test.sh > > cd .. > > > Full commit (up to 1000 lines): > > commit 08d7eec06e8cf5c15a96ce11f311f1480291a441 > Author: Stanislav Mekhanoshin > Date: Fri Sep 24 09:53:51 2021 -0700 > >Revert "Allow rematerialization of virtual reg uses" > >Reverted due to two distcint performance regression reports. > >This reverts commit 92c1fd19abb15bc68b1127a26137a69e033cdb39. > --- > llvm/include/llvm/CodeGen/TargetInstrInfo.h| 12 +- > llvm/lib/CodeGen/TargetInstrInfo.cpp |9 +- > llvm/test/CodeGen/AMDGPU/remat-sop.mir | 60 - > llvm/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll
Re: [TCWG CI] 471.omnetpp slowed down by 8% after gcc: Avoid invalid loop transformations in jump threading registry.
On 9/27/21 11:39 AM, Maxim Kuvyrkov via Gcc wrote: On 27 Sep 2021, at 16:52, Aldy Hernandez wrote: [CCing Jeff and list for broader audience] On 9/27/21 2:53 PM, Maxim Kuvyrkov wrote: Hi Aldy, Your patch seems to slow down 471.omnetpp by 8% at -O3. Could you please take a look if this is something that could be easily fixed? First of all, thanks for chasing this down. It's incredibly useful to have these types of bug reports. Thanks, Aldy, this is music to my ears :-). We have built this automated benchmarking CI that bisects code-speed and code-size regressions down to a single commit. It is still work-in-progress, and I’m forwarding these reports to patch authors, whose patches caused regressions. If GCC community finds these useful, we can also setup posting to one of GCC’s mailing lists. I second that this sort of thing is incredibly useful. I don't suppose its easy to do the reverse?... let patch authors know when they've caused a significant improvement? :-) That would be much less common I suspect, so perhaps not worth it :-) Its certainly very useful when we are making a wholesale change to a pass which we think is beneficial, but aren't sure. And a followup question... Sometimes we have no good way of determining the widespread run-time effects of a change. You seem to be running SPEC/other things continuously then? Does it run like once a day/some-time-period, and if you note a regression, narrow it down? Regardless, I think it could be very useful to be able to see the results of anything you do run at whatever frequency it happens. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
[AMD Official Use Only] Thanks for letting me know. Some regressions are inevitable, however do you happen to have any analysis and dumps? I myself do not understand ARM ISA well... Stas -Original Message- From: Maxim Kuvyrkov Sent: Wednesday, September 15, 2021 5:52 To: Mekhanoshin, Stanislav Cc: linaro-toolchain Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses [CAUTION: External Email] Hi Stanislav, FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on 32-bit ARM at -O2 and -O3 optimization levels. -- Maxim Kuvyrkov https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=bkObPKjWEcK%2FLKi4Vc0q0an1gwCHUmro6OUILcE4Qpg%3D&reserved=0 > On 15 Sep 2021, at 12:54, ci_not...@linaro.org wrote: > > After llvm commit 92c1fd19abb15bc68b1127a26137a69e033cdb39 > Author: Stanislav Mekhanoshin > >Allow rematerialization of virtual reg uses > > the following benchmarks slowed down by more than 2%: > - 456.hmmer slowed down by 6% > - 482.sphinx3 slowed down by 3% > > Benchmark: > Toolchain: Clang + Glibc + LLVM Linker > Version: all components were built from their tip of trunk > Target: arm-linux-gnueabihf > Compiler flags: -O3 -marm > Hardware: NVidia TK1 4x Cortex-A15 > > This commit has regressed these CI configurations: > - tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O2 > - tcwg_bmk_llvm_tk1/llvm-master-arm-spec2k6-O3 > > First_bad build: > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fci.l > inaro.org%2Fjob%2Ftcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm > -spec2k6-O3%2F18%2Fartifact%2Fartifacts%2Fbuild-92c1fd19abb15bc68b1127 > a26137a69e033cdb39%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.c > om%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe4884e608e11a82d994e18 > 3d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata= > GljZDVgW8760UCfr1qyngCxuopjepmdXUge33wLisCI%3D&reserved=0 > Last_good build: > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fci.l > inaro.org%2Fjob%2Ftcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm > -spec2k6-O3%2F18%2Fartifact%2Fartifacts%2Fbuild-1d02a8bcd393ea9c50f021 > 2797059888efc78002%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.c > om%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe4884e608e11a82d994e18 > 3d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata= > taDN2Fi59j9%2B6szDRr6hdgJXqxI2z%2BTCDMvId6DkfmI%3D&reserved=0 > Baseline build: > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fci.l > inaro.org%2Fjob%2Ftcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm > -spec2k6-O3%2F18%2Fartifact%2Fartifacts%2Fbuild-baseline%2F&data=0 > 4%7C01%7CStanislav.Mekhanoshin%40amd.com%7C70fc4b555fa8419b283708d9784 > 7a8c7%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637673071485470682% > 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=pwDR%2F%2Fov20nC%2BhfJfZHNyMLp1w > u8x%2FJk235qJX3U8iU%3D&reserved=0 > Even more details: > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fci.l > inaro.org%2Fjob%2Ftcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm > -spec2k6-O3%2F18%2Fartifact%2Fartifacts%2F&data=04%7C01%7CStanisla > v.Mekhanoshin%40amd.com%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe > 4884e608e11a82d994e183d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpb > GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0 > %3D%7C1000&sdata=KglfzfXsbBZvvY6Kmaxg54ula8EnSbSDUmONB%2Fm2V6k%3D& > amp;reserved=0 > > Reproduce builds: > > mkdir investigate-llvm-92c1fd19abb15bc68b1127a26137a69e033cdb39 > cd investigate-llvm-92c1fd19abb15bc68b1127a26137a69e033cdb39 > > # Fetch scripts > git clone > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit. > linaro.org%2Ftoolchain%2Fjenkins-scripts&data=04%7C01%7CStanislav. > Mekhanoshin%40amd.com%7C70fc4b555fa8419b283708d97847a8c7%7C3dd8961fe48 > 84e608e11a82d994e183d%7C0%7C0%7C637673071485470682%7CUnknown%7CTWFpbGZ > sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3 > D%7C1000&sdata=em95PA93GfEu29UFxbP3re%2Bgs1azu2%2BhT%2F96Axaq%2FvE > %3D&reserved=0 > > # Fetch manifests and test.sh script > mkdir -p artifacts/manifests > curl -o artifacts/manifests/build-baseline.sh > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fci.l > inaro.org%2Fjob%2Ftcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-master-arm > -spec2k6-O3%2F18%2Fartifact%2Fartifacts%2Fmanifests%2Fbuild-baseline.s > h&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7
clang-aarch64-full-2stage buildbot timeout
Hi, It looks like a lot of the recent builds of clang-aarch64-full-2stage are timing out. E.g https://lab.llvm.org/buildbot/#/builders/179/builds/1078 while checking out sources https://lab.llvm.org/buildbot/#/builders/179/builds/1076 during building stage2 Is there anything that could be done to avoid such timeouts and avoid false positive failure emails? Cheers, Florian ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
[AMD Official Use Only] There are actually couple things worth to try if that is easy: https://reviews.llvm.org/D109077 https://reviews.llvm.org/differential/diff/374324/ Both may slightly change spill weights and then spilling pattern. Stas -Original Message- From: Mekhanoshin, Stanislav Sent: Wednesday, September 22, 2021 12:09 To: Maxim Kuvyrkov Cc: linaro-toolchain Subject: RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses I assume some of the newly rematerialized instructions caused perf drops. Probably some very specific ones. I would appreciate if you could point them to me. In addition I believe I would need to have a linked or optimized bitcode to feed into llc. Stas -Original Message- From: Maxim Kuvyrkov Sent: Wednesday, September 22, 2021 12:06 To: Mekhanoshin, Stanislav Cc: linaro-toolchain Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses [CAUTION: External Email] Hi Stanislav, That's fair; I or someone from Linaro will try to analyze this and follow up here. On a more general note, what info would you like to see in these benchmarking regression reports? Thanks, -- Maxim Kuvyrkov https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > On Sep 22, 2021, at 9:40 PM, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > Hm... I'd really like to help, but I do not think I can do anything with > megabytes of code in an asm which I do not understand and tons of differences > in 48 asm files. > What I can see there is overall less spilling code which was the intent in > the first place: hmmer has 4 less spill opcodes overall and sphinx has 27 > less of them. > I doubt I could say much more without someone pointing to the actual root > cause. > > Stas > > -Original Message- > From: Maxim Kuvyrkov > Sent: Wednesday, September 22, 2021 5:16 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Hi Stanislav, > > Attached is a tarball with -save-temps output (pre-processed source and > generated assembly) for first-bad run (your commit) and last-good run > (immediate parent of your commit). > > -- > Maxim Kuvyrkov > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > >> On 20 Sep 2021, at 23:15, Mekhanoshin, Stanislav >> wrote: >> >> [AMD Official Use Only] >> >> Thanks for letting me know. Some regressions are inevitable, however do you >> happen to have any analysis and dumps? I myself do not understand ARM ISA >> well... >> >> Stas >> >> -Original Message- >> From: Maxim Kuvyrkov >> Sent: Wednesday, September 15, 2021 5:52 >> To: Mekhanoshin, Stanislav >> Cc: linaro-toolchain >> Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow >> rematerialization of virtual reg uses >> >> [CAUTION: External Email] >> >> Hi Stanislav, >> >> FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on 32-bit >> ARM at -O2 and -O3 optimization levels. >> >> -- >> Maxim Kuvyrkov >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 >> > > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
[AMD Official Use Only] Hm... I'd really like to help, but I do not think I can do anything with megabytes of code in an asm which I do not understand and tons of differences in 48 asm files. What I can see there is overall less spilling code which was the intent in the first place: hmmer has 4 less spill opcodes overall and sphinx has 27 less of them. I doubt I could say much more without someone pointing to the actual root cause. Stas -Original Message- From: Maxim Kuvyrkov Sent: Wednesday, September 22, 2021 5:16 To: Mekhanoshin, Stanislav Cc: linaro-toolchain Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses [CAUTION: External Email] Hi Stanislav, Attached is a tarball with -save-temps output (pre-processed source and generated assembly) for first-bad run (your commit) and last-good run (immediate parent of your commit). -- Maxim Kuvyrkov https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Cc5e78e4205f24cc6bccd08d97dc2d7af%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679098557282668%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7RylLjpy8kcOqRC2kxQLIQ8Z8IY9VN%2FSoe3%2BUQii0c8%3D&reserved=0 > On 20 Sep 2021, at 23:15, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > Thanks for letting me know. Some regressions are inevitable, however do you > happen to have any analysis and dumps? I myself do not understand ARM ISA > well... > > Stas > > -Original Message- > From: Maxim Kuvyrkov > Sent: Wednesday, September 15, 2021 5:52 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Hi Stanislav, > > FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on 32-bit > ARM at -O2 and -O3 optimization levels. > > -- > Maxim Kuvyrkov > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Cc5e78e4205f24cc6bccd08d97dc2d7af%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679098557282668%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7RylLjpy8kcOqRC2kxQLIQ8Z8IY9VN%2FSoe3%2BUQii0c8%3D&reserved=0 > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: clang-aarch64-full-2stage buildbot timeout
> On Sep 22, 2021, at 11:23, Florian Hahn wrote: > > Hi, > > It looks like a lot of the recent builds of clang-aarch64-full-2stage are > timing out. > > E.g https://lab.llvm.org/buildbot/#/builders/179/builds/1078 while checking > out sources > https://lab.llvm.org/buildbot/#/builders/179/builds/1076 during building > stage2 > > Is there anything that could be done to avoid such timeouts and avoid false > positive failure emails? > > Cheers, > Florian Looks like other bots are also hit by timeouts, including clang-arm64-windows-msvc-2stage (https://lab.llvm.org/buildbot/#/builders/120/builds/1197) ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
gcc-linaro-6.3.1-2017.05-i686_aarch64-elf.tar.xz
I’m trying to import these files into Ds-5. After unzipping files, it still will not show up in ds-5 search. Below is the error that I keep receiving: Sent from my iPhone___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
RE: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses
[AMD Official Use Only] I assume some of the newly rematerialized instructions caused perf drops. Probably some very specific ones. I would appreciate if you could point them to me. In addition I believe I would need to have a linked or optimized bitcode to feed into llc. Stas -Original Message- From: Maxim Kuvyrkov Sent: Wednesday, September 22, 2021 12:06 To: Mekhanoshin, Stanislav Cc: linaro-toolchain Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow rematerialization of virtual reg uses [CAUTION: External Email] Hi Stanislav, That's fair; I or someone from Linaro will try to analyze this and follow up here. On a more general note, what info would you like to see in these benchmarking regression reports? Thanks, -- Maxim Kuvyrkov https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > On Sep 22, 2021, at 9:40 PM, Mekhanoshin, Stanislav > wrote: > > [AMD Official Use Only] > > Hm... I'd really like to help, but I do not think I can do anything with > megabytes of code in an asm which I do not understand and tons of differences > in 48 asm files. > What I can see there is overall less spilling code which was the intent in > the first place: hmmer has 4 less spill opcodes overall and sphinx has 27 > less of them. > I doubt I could say much more without someone pointing to the actual root > cause. > > Stas > > -Original Message- > From: Maxim Kuvyrkov > Sent: Wednesday, September 22, 2021 5:16 > To: Mekhanoshin, Stanislav > Cc: linaro-toolchain > Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow > rematerialization of virtual reg uses > > [CAUTION: External Email] > > Hi Stanislav, > > Attached is a tarball with -save-temps output (pre-processed source and > generated assembly) for first-bad run (your commit) and last-good run > (immediate parent of your commit). > > -- > Maxim Kuvyrkov > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 > >> On 20 Sep 2021, at 23:15, Mekhanoshin, Stanislav >> wrote: >> >> [AMD Official Use Only] >> >> Thanks for letting me know. Some regressions are inevitable, however do you >> happen to have any analysis and dumps? I myself do not understand ARM ISA >> well... >> >> Stas >> >> -Original Message- >> From: Maxim Kuvyrkov >> Sent: Wednesday, September 15, 2021 5:52 >> To: Mekhanoshin, Stanislav >> Cc: linaro-toolchain >> Subject: Re: [TCWG CI] 456.hmmer slowed down by 6% after llvm: Allow >> rematerialization of virtual reg uses >> >> [CAUTION: External Email] >> >> Hi Stanislav, >> >> FYI, your patch seems to be slowing down two of SPEC CPU2006 tests on 32-bit >> ARM at -O2 and -O3 optimization levels. >> >> -- >> Maxim Kuvyrkov >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linaro.org%2F&data=04%7C01%7CStanislav.Mekhanoshin%40amd.com%7Ccb8b53f8e69f4fa8b2d508d97dfc017a%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637679343573433629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FP9FReEFKUi0Pvr%2FB1K3Z1VB%2BL2EuU7GqqZx2XOnawE%3D&reserved=0 >> > > ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [CI-NOTIFY]: TCWG Bisect tcwg_kernel/llvm-release-aarch64-next-allnoconfig - Build # 10 - Successful!
On Wed, Sep 29, 2021 at 4:35 AM Maxim Kuvyrkov wrote: > > > On 28 Jul 2021, at 01:09, Nick Desaulniers wrote: > > > > On Mon, Jul 26, 2021 at 6:32 PM Nathan Chancellor wrote: > >> > >> On 7/26/2021 6:26 PM, ci_not...@linaro.org wrote: > >>> Successfully identified regression in *linux* in CI configuration > >>> tcwg_kernel/llvm-release-aarch64-next-allnoconfig. So far, this commit > >>> has regressed CI configurations: > >>> - tcwg_kernel/llvm-release-aarch64-next-allnoconfig > >>> > >>> Culprit: > >>> > >>> commit 8633ef82f101c040427b57d4df7b706261420b94 > >>> Author: Javier Martinez Canillas > >>> Date: Fri Jun 25 15:13:59 2021 +0200 > >>> > >>> drivers/firmware: consolidate EFI framebuffer setup for all arches > >>> > ... > >>> # 00:00:38 make: *** [vmlinux] Error 1 > >> > >> It is good to see these reports again :) > > > > Yes! Is Maxim still driving these or is there someone else at Linaro > > we should be working with to keep this reports going? > > Hi Nick, > > Yes, I’m still looking after tcwg_kernel-llvm and tcwg_kernel-gnu CI loops. > There has been a silly bug that stopped reports for several months, but they > are back since end of July. > > I have only now noticed this, while I was digging through email archives. > Please add me directly to CC: so that future messages end up in my inbox. ACK, thanks Max! > > -- > Maxim Kuvyrkov > https://www.linaro.org > -- Thanks, ~Nick Desaulniers ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: [TCWG CI] 400.perlbench slowed down by 6% after llvm: [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest
I have a wild guess at a potential fix in the meantime: diff --cc llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 3add561c66d5,3add561c66d5..bedbca9dd4b7 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@@ -3242,9 -3242,9 +3242,9 @@@ bool llvm::FoldBranchToCommonDest(Branc // as "bonus instructions", and only allow this transformation when the // number of the bonus instructions we'll need to create when cloning into // each predecessor does not exceed a certain threshold. -- unsigned NumBonusInsts = 0; bool SawVectorOp = false; const unsigned PredCount = Preds.size(); ++ InstructionCost IC; for (Instruction &I : *BB) { // Don't check the branch condition comparison itself. if (&I == Cond) @@@ -3258,16 -3258,16 +3258,13 @@@ SawVectorOp |= isVectorOp(I); // Account for the cost of duplicating this instruction into each --// predecessor. Ignore free instructions. --if (!TTI || --TTI->getUserCost(&I, CostKind) != TargetTransformInfo::TCC_Free) { -- NumBonusInsts += PredCount; -- -- // Early exits once we reach the limit. -- if (NumBonusInsts > -- BonusInstThreshold * BranchFoldToCommonDestVectorMultiplier) --return false; --} ++// predecessor. ++IC += (TTI ? TTI->getUserCost(&I, CostKind) ++ : TargetTransformInfo::TCC_Basic) * ++ PredCount; ++// Early exits once we reach the limit. ++if (IC > BonusInstThreshold * BranchFoldToCommonDestVectorMultiplier) ++ return false; auto IsBCSSAUse = [BB, &I](Use &U) { auto *UI = cast(U.getUser()); @@@ -3280,9 -3280,9 +3277,8 @@@ if (!all_of(I.uses(), IsBCSSAUse)) return false; } -- if (NumBonusInsts > -- BonusInstThreshold * -- (SawVectorOp ? BranchFoldToCommonDestVectorMultiplier : 1)) ++ if (IC > BonusInstThreshold * ++ (SawVectorOp ? BranchFoldToCommonDestVectorMultiplier : 1)) return false; // Ok, we have the budget. Perform the transformation. On Mon, Sep 27, 2021 at 10:05 AM Arthur Eubanks wrote: > Could I get the source file with S_regmatch()? > > On Mon, Sep 27, 2021 at 6:07 AM Maxim Kuvyrkov > wrote: > >> Hi Arthur, >> >> Your patch seems to be slowing down 400.perlbench by 6% — due to slow >> down of its hot function S_regmatch() by 14%. >> >> Could you take a look if this is easily fixable, please? >> >> Regards, >> >> -- >> Maxim Kuvyrkov >> https://www.linaro.org >> >> > On 24 Sep 2021, at 15:07, ci_not...@linaro.org wrote: >> > >> > After llvm commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc >> > Author: Arthur Eubanks >> > >> >[SimplifyCFG] Ignore free instructions when computing cost for >> folding branch to common dest >> > >> > the following benchmarks slowed down by more than 2%: >> > - 400.perlbench slowed down by 6% from 9730 to 10312 perf samples >> > - 400.perlbench:[.] S_regmatch slowed down by 14% from 3660 to 4188 >> perf samples >> > >> > Below reproducer instructions can be used to re-build both "first_bad" >> and "last_good" cross-toolchains used in this bisection. Naturally, the >> scripts will fail when triggerring benchmarking jobs if you don't have >> access to Linaro TCWG CI. >> > >> > For your convenience, we have uploaded tarballs with pre-processed >> source and assembly files at: >> > - First_bad save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/save-temps/ >> > - Last_good save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-32a50078657dd8beead327a3478ede4e9d730432/save-temps/ >> > - Baseline save-temps: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-baseline/save-temps/ >> > >> > Configuration: >> > - Benchmark: SPEC CPU2006 >> > - Toolchain: Clang + Glibc + LLVM Linker >> > - Version: all components were built from their tip of trunk >> > - Target: aarch64-linux-gnu >> > - Compiler flags: -O3 >> > - Hardware: NVidia TX1 4x Cortex-A57 >> > >> > This benchmarking CI is work-in-progress, and we welcome feedback and >> suggestions at linaro-toolchain@lists.linaro.org . In our improvement >> plans is to add support for SPEC CPU2017 benchmarks and provide "perf >> report/annotate" data behind these reports. >> > >> > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, >> REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >> > >> > This commit has regressed these CI configurations: >> > - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 >> > >> > First_bad build: >> https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/ >> > Last_good build: >> https://ci.linaro
Re: [TCWG CI] 400.perlbench slowed down by 6% after llvm: [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest
Could I get the source file with S_regmatch()? On Mon, Sep 27, 2021 at 6:07 AM Maxim Kuvyrkov wrote: > Hi Arthur, > > Your patch seems to be slowing down 400.perlbench by 6% — due to slow down > of its hot function S_regmatch() by 14%. > > Could you take a look if this is easily fixable, please? > > Regards, > > -- > Maxim Kuvyrkov > https://www.linaro.org > > > On 24 Sep 2021, at 15:07, ci_not...@linaro.org wrote: > > > > After llvm commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > Author: Arthur Eubanks > > > >[SimplifyCFG] Ignore free instructions when computing cost for > folding branch to common dest > > > > the following benchmarks slowed down by more than 2%: > > - 400.perlbench slowed down by 6% from 9730 to 10312 perf samples > > - 400.perlbench:[.] S_regmatch slowed down by 14% from 3660 to 4188 > perf samples > > > > Below reproducer instructions can be used to re-build both "first_bad" > and "last_good" cross-toolchains used in this bisection. Naturally, the > scripts will fail when triggerring benchmarking jobs if you don't have > access to Linaro TCWG CI. > > > > For your convenience, we have uploaded tarballs with pre-processed > source and assembly files at: > > - First_bad save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/save-temps/ > > - Last_good save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-32a50078657dd8beead327a3478ede4e9d730432/save-temps/ > > - Baseline save-temps: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-baseline/save-temps/ > > > > Configuration: > > - Benchmark: SPEC CPU2006 > > - Toolchain: Clang + Glibc + LLVM Linker > > - Version: all components were built from their tip of trunk > > - Target: aarch64-linux-gnu > > - Compiler flags: -O3 > > - Hardware: NVidia TX1 4x Cortex-A57 > > > > This benchmarking CI is work-in-progress, and we welcome feedback and > suggestions at linaro-toolchain@lists.linaro.org . In our improvement > plans is to add support for SPEC CPU2017 benchmarks and provide "perf > report/annotate" data behind these reports. > > > > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, > REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. > > > > This commit has regressed these CI configurations: > > - tcwg_bmk_llvm_tx1/llvm-master-aarch64-spec2k6-O3 > > > > First_bad build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc/ > > Last_good build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-32a50078657dd8beead327a3478ede4e9d730432/ > > Baseline build: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/build-baseline/ > > Even more details: > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/ > > > > Reproduce builds: > > > > mkdir investigate-llvm-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > cd investigate-llvm-e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > > > # Fetch scripts > > git clone https://git.linaro.org/toolchain/jenkins-scripts > > > > # Fetch manifests and test.sh script > > mkdir -p artifacts/manifests > > curl -o artifacts/manifests/build-baseline.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/manifests/build-baseline.sh > --fail > > curl -o artifacts/manifests/build-parameters.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/manifests/build-parameters.sh > --fail > > curl -o artifacts/test.sh > https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tx1-llvm-master-aarch64-spec2k6-O3/23/artifact/artifacts/test.sh > --fail > > chmod +x artifacts/test.sh > > > > # Reproduce the baseline build (build all pre-requisites) > > ./jenkins-scripts/tcwg_bmk-build.sh @@ > artifacts/manifests/build-baseline.sh > > > > # Save baseline build state (which is then restored in artifacts/test.sh) > > mkdir -p ./bisect > > rsync -a --del --delete-excluded --exclude /bisect/ --exclude > /artifacts/ --exclude /llvm/ ./ ./bisect/baseline/ > > > > cd llvm > > > > # Reproduce first_bad build > > git checkout --detach e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > ../artifacts/test.sh > > > > # Reproduce last_good build > > git checkout --detach 32a50078657dd8beead327a3478ede4e9d730432 > > ../artifacts/test.sh > > > > cd .. > > > > > > Full commit (up to 1000 lines): > > > > commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc > > Author: Arthur Eubanks > > Date: Fri Aug 27 12:32:59 2021 -0700