public inbox for gcc-regression@sourceware.org help / color / mirror / Atom feed
From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> To: ci_notify@linaro.org Cc: "François-Xavier Coudert" <fxcoudert@gcc.gnu.org>, gcc-regression@gcc.gnu.org Subject: Re: [TCWG CI] 436.cactusADM:[.] PUGH_ReductionMinVal slowed down by 83% after gcc: Darwin: Future-proof and homogeneize detection of darwin versions Date: Wed, 22 Dec 2021 14:57:50 +0530 [thread overview] Message-ID: <CAAgBjMnjvvfRSq1WKQjMyLY6CspD2SLj4WubqgTqSbuoNAuLNQ@mail.gmail.com> (raw) In-Reply-To: <204081812.6875.1640129071338@jenkins.jenkins> On Wed, 22 Dec 2021 at 04:54, <ci_notify@linaro.org> wrote: > > After gcc commit f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d > Author: François-Xavier Coudert <fxcoudert@gcc.gnu.org> > > Darwin: Future-proof and homogeneize detection of darwin versions > > the following hot functions slowed down by more than 10% (but their benchmarks slowed down by less than 2%): > - 436.cactusADM:[.] PUGH_ReductionMinVal slowed down by 83% from 6 to 11 perf samples > - 403.gcc:[.] sbitmap_intersection_of_preds slowed down by 52% from 23 to 35 perf samples > - 403.gcc:[.] canon_hash slowed down by 39% from 18 to 25 perf samples > Hi, Unfortunately this is a false positive caused due to an issue in our CI, which we are looking into. I apologize for the inconvenience, please ignore the report. Best Regards, Prathamesh > 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_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/build-f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d/save-temps/ > - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/build-2554e2da9263e4e26a164318f8041b19b8e54c21/save-temps/ > - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/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: 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_gnu_tx1/gnu-master-aarch64-spec2k6-O3 > > First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/build-f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d/ > Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/build-2554e2da9263e4e26a164318f8041b19b8e54c21/ > Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/build-baseline/ > Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/ > > Reproduce builds: > <cut> > mkdir investigate-gcc-f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d > cd investigate-gcc-f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d > > # 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_tx1-gnu-master-aarch64-spec2k6-O3/44/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_tx1-gnu-master-aarch64-spec2k6-O3/44/artifact/artifacts/manifests/build-parameters.sh --fail > curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-master-aarch64-spec2k6-O3/44/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 f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d > ../artifacts/test.sh > > # Reproduce last_good build > git checkout --detach 2554e2da9263e4e26a164318f8041b19b8e54c21 > ../artifacts/test.sh > > cd .. > </cut> > > Full commit (up to 1000 lines): > <cut> > commit f18cbc1ee1f421a0dd79dc389bef9a23dd4a761d > Author: François-Xavier Coudert <fxcoudert@gcc.gnu.org> > Date: Fri Dec 17 19:30:36 2021 +0100 > > Darwin: Future-proof and homogeneize detection of darwin versions > > The current GCC branch will become 12.1.0, which will be the stable > version of GCC when the next macOS version is released. There are some > places in GCC that don’t handle darwin22 as a version, so we need to > future-proof it (gcc/config.gcc and gcc/config/darwin-driver.c). We > align that code with what Apple clang does, i.e. accept all potential > major macOS versions until 99. > > This patch also homogenises the handling of darwin version numbers, > where the majority of places use darwin2*, but some used darwin2[0-9]*. > Since there never was a darwin2.x version, the two are equivalent, and > we prefer the simpler darwin2* > > gcc/ChangeLog: > > * config/darwin-driver.c: Make version code more future-proof. > * config.gcc: Homogeneize darwin versions. > * configure.ac: Homogeneize darwin versions. > * configure: Regenerate. > > gcc/testsuite/ChangeLog: > > * gcc.dg/darwin-minversion-link.c: Test darwin21. > * obj-c++.dg/cxx-ivars-3.mm: Homogeneize darwin versions. > * obj-c++.dg/objc-gc-3.mm: Homogeneize darwin versions. > * objc.dg/objc-gc-4.m: Homogeneize darwin versions. > --- > gcc/config.gcc | 4 ++-- > gcc/config/darwin-driver.c | 6 +++--- > gcc/configure | 2 +- > gcc/configure.ac | 2 +- > gcc/testsuite/gcc.dg/darwin-minversion-link.c | 3 ++- > gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm | 2 +- > gcc/testsuite/obj-c++.dg/objc-gc-3.mm | 2 +- > gcc/testsuite/objc.dg/objc-gc-4.m | 2 +- > 8 files changed, 12 insertions(+), 11 deletions(-) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index c8824367b13..c8c0ef9aa05 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -1847,7 +1847,7 @@ hppa[12]*-*-hpux11*) > dwarf2=no > fi > ;; > -i[34567]86-*-darwin1[89]* | i[34567]86-*-darwin2[0-9]*) > +i[34567]86-*-darwin1[89]* | i[34567]86-*-darwin2*) > echo "Error: 32bit target is not supported after Darwin17" 1>&2 > ;; > i[34567]86-*-darwin*) > @@ -1857,7 +1857,7 @@ i[34567]86-*-darwin*) > tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc" > tm_file="${cpu_type}/darwin32-biarch.h ${tm_file} " > ;; > -x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*) > +x86_64-*-darwin1[89]* | x86_64-*-darwin2*) > # Only 64b from now > tm_defines="${tm_defines} TARGET_64BIT_DEFAULT=(OPTION_MASK_ISA_64BIT|OPTION_MASK_ABI_64)" > tm_defines="${tm_defines} TARGET_BI_ARCH=0" > diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c > index 688fe8fabc0..e459a72f907 100644 > --- a/gcc/config/darwin-driver.c > +++ b/gcc/config/darwin-driver.c > @@ -64,7 +64,8 @@ validate_macosx_version_min (const char *version_str) > > major = strtoul (version_str, &end, 10); > > - if (major < 10 || major > 12 ) /* macOS 10, 11, and 12 are known. */ > + /* macOS 10, 11, and 12 are known. clang accepts up to 99. */ > + if (major < 10 || major > 99) > return NULL; > > /* Skip a separating period, if there's one. */ > @@ -160,8 +161,7 @@ darwin_find_version_from_kernel (void) > > /* Darwin20 sees a transition to macOS 11. In this, it seems that the > mapping to macOS minor version is now shifted to the kernel minor > - version - 1 (at least for the initial releases). At this stage, we > - don't know what macOS version will correspond to Darwin21. */ > + version - 1 (at least for the initial releases). */ > if (major_vers >= 20) > { > int minor_vers = *version_p++ - '0'; > diff --git a/gcc/configure b/gcc/configure > index 5470987b62f..992a9d70092 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -26947,7 +26947,7 @@ $as_echo "$as_me: WARNING: LTO for $target requires binutils >= 2.20.1, but vers > ;; > esac > case $target_os in > - darwin2[0-9]* | darwin19*) > + darwin2* | darwin19*) > { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for llvm assembler x86-pad-for-align option" >&5 > $as_echo_n "checking assembler for llvm assembler x86-pad-for-align option... " >&6; } > if ${gcc_cv_as_mllvm_x86_pad_for_align+:} false; then : > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 2b4914b6ec1..0db9c4cb027 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -4692,7 +4692,7 @@ foo: nop > ;; > esac > case $target_os in > - darwin2[[0-9]]* | darwin19*) > + darwin2* | darwin19*) > gcc_GAS_CHECK_FEATURE([llvm assembler x86-pad-for-align option], > gcc_cv_as_mllvm_x86_pad_for_align, > [-mllvm -x86-pad-for-align=false], [.text],, > diff --git a/gcc/testsuite/gcc.dg/darwin-minversion-link.c b/gcc/testsuite/gcc.dg/darwin-minversion-link.c > index 765fb799a91..b6ede31c985 100644 > --- a/gcc/testsuite/gcc.dg/darwin-minversion-link.c > +++ b/gcc/testsuite/gcc.dg/darwin-minversion-link.c > @@ -15,7 +15,8 @@ > /* { dg-additional-options "-mmacosx-version-min=010.013.06 -DCHECK=101306" { target *-*-darwin17* } } */ > /* { dg-additional-options "-mmacosx-version-min=010.014.05 -DCHECK=101405" { target *-*-darwin18* } } */ > /* { dg-additional-options "-mmacosx-version-min=010.015.06 -DCHECK=101506" { target *-*-darwin19* } } */ > -/* { dg-additional-options "-mmacosx-version-min=011.000.00 -DCHECK=110000" { target *-*-darwin20 } } */ > +/* { dg-additional-options "-mmacosx-version-min=011.000.00 -DCHECK=110000" { target *-*-darwin20* } } */ > +/* { dg-additional-options "-mmacosx-version-min=012.000.00 -DCHECK=120000" { target *-*-darwin21* } } */ > > int > main () > diff --git a/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm b/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm > index 07123559d72..27bae630ce8 100644 > --- a/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm > +++ b/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm > @@ -2,7 +2,7 @@ > > // { dg-do run { target *-*-darwin* } } > // { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } > -// { dg-skip-if "Headers incompatible with 10.4 APIs" { *-*-darwin1[1-9]* *-*-darwin2[0-9]* } { "-fnext-runtime" } { "" } } > +// { dg-skip-if "Headers incompatible with 10.4 APIs" { *-*-darwin1[1-9]* *-*-darwin2* } { "-fnext-runtime" } { "" } } > // { dg-additional-options "-fobjc-call-cxx-cdtors -mmacosx-version-min=10.4 -framework Foundation" } > // This test has no equivalent or meaning for m64/ABI V2 > // { dg-xfail-run-if "No Test Avail" { *-*-darwin* && lp64 } { "-fnext-runtime" } { "" } } > diff --git a/gcc/testsuite/obj-c++.dg/objc-gc-3.mm b/gcc/testsuite/obj-c++.dg/objc-gc-3.mm > index 45ffbc5553d..18f2cbe8869 100644 > --- a/gcc/testsuite/obj-c++.dg/objc-gc-3.mm > +++ b/gcc/testsuite/obj-c++.dg/objc-gc-3.mm > @@ -3,7 +3,7 @@ > /* Contributed by Ziemowit Laski <zlaski@apple.com> */ > > /* { dg-do compile } */ > -/* { dg-skip-if "GC API is an error from Darwin16." { *-*-darwin1[6-9]* *-*-darwin2[0-9]* } { "-fnext-runtime" } { "" } } */ > +/* { dg-skip-if "GC API is an error from Darwin16." { *-*-darwin1[6-9]* *-*-darwin2* } { "-fnext-runtime" } { "" } } */ > /* { dg-options "-fobjc-gc" } */ > /* { dg-prune-output "cc1objplus: warning: '-fobjc-gc' is ignored for '-fgnu-runtime'" } */ > > diff --git a/gcc/testsuite/objc.dg/objc-gc-4.m b/gcc/testsuite/objc.dg/objc-gc-4.m > index 8102a5a532f..1b2d9674969 100644 > --- a/gcc/testsuite/objc.dg/objc-gc-4.m > +++ b/gcc/testsuite/objc.dg/objc-gc-4.m > @@ -3,7 +3,7 @@ > /* Contributed by Ziemowit Laski <zlaski@apple.com> */ > > /* { dg-do compile } */ > -/* { dg-skip-if "GC API is an error from Darwin16." { *-*-darwin1[6-9]* *-*-darwin2[0-9]* } { "-fnext-runtime" } { "" } } */ > +/* { dg-skip-if "GC API is an error from Darwin16." { *-*-darwin1[6-9]* *-*-darwin2* } { "-fnext-runtime" } { "" } } */ > /* { dg-options "-fobjc-gc" } */ > /* { dg-prune-output "cc1obj: warning: '-fobjc-gc' is ignored for '-fgnu-runtime'" } */ > > </cut>
prev parent reply other threads:[~2021-12-22 9:28 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-21 23:24 ci_notify 2021-12-22 9:27 ` Prathamesh Kulkarni [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAAgBjMnjvvfRSq1WKQjMyLY6CspD2SLj4WubqgTqSbuoNAuLNQ@mail.gmail.com \ --to=prathamesh.kulkarni@linaro.org \ --cc=ci_notify@linaro.org \ --cc=fxcoudert@gcc.gnu.org \ --cc=gcc-regression@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).