From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by sourceware.org (Postfix) with ESMTPS id B79463858414 for ; Wed, 15 Dec 2021 15:50:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B79463858414 Received: by mail-wm1-x32d.google.com with SMTP id k37-20020a05600c1ca500b00330cb84834fso18820271wms.2 for ; Wed, 15 Dec 2021 07:50:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:to:cc:message-id:subject:mime-version :list-id; bh=Ks4mAdCEIXACP6NQxDtPTUwoIZDU9C/906vwbTQxQTE=; b=DKogdiSBGhSBlsXmR2X9L3c4IRWEqVj4QS6WVLhbxA/LAV/7zMgH7/lSwyMCRUU+U7 16N+6Fr4FiaD8jJSiH2sG2M6s/dt3TCnYBN8PiCIF0t82XLG820WKbg013zBNDYF/C4W yoZSPfZu4mtAJq7nS6juwB87SX/se5Q7XBmXiaCVQ2oj5PppDOneWEpH81hDhk2Ys4qn //39epcQYqChszeFPggAV5EP/XsUSSEiCJ9547yUITwZYsW6sbnuIRi46bBy2X5rsT5x OJsBWa9OD4ihmGdiz+jmvTw90/8zDyFZvpk3XKQz7NJ64ZV9nXzjXBwUsXpJpg2+emff ylkg== X-Gm-Message-State: AOAM5332BwQjWIPQ3xv+9jmMHFjJrFQDWQWo+Oqw9W5MJrcOzNL/XQFN roSDEwL09hhObyb7FEU7nbrg6A== X-Google-Smtp-Source: ABdhPJzkV1RTV4jp8yZ/I3ETrq4zNo+wwLDGlSC+eGNB0EydMtqo0SGdKnPljD0j67Nlb0TaNpyUnA== X-Received: by 2002:a7b:c1cb:: with SMTP id a11mr439477wmj.30.1639583421753; Wed, 15 Dec 2021 07:50:21 -0800 (PST) Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175]) by smtp.gmail.com with ESMTPSA id p19sm2590231wmq.4.2021.12.15.07.50.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Dec 2021 07:50:21 -0800 (PST) From: ci_notify@linaro.org X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org Date: Wed, 15 Dec 2021 15:50:20 +0000 (UTC) To: Simon Marchi Cc: gcc-regression@gcc.gnu.org Message-ID: <551713354.4750.1639583421424@jenkins.jenkins> Subject: [TCWG CI] Regression caused by binutils: gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT` MIME-Version: 1.0 X-Jenkins-Job: TCWG Bisect tcwg_gcc_bootstrap/master-aarch64-bootstrap_lto X-Jenkins-Result: SUCCESS X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2021 15:50:24 -0000 [TCWG CI] Regression caused by binutils: gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT`: commit fe72c32765e1190c8a17d309fc3a7e1882d6a430 Author: Simon Marchi gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT` Results regressed to # reset_artifacts: -10 # true: 0 # First few build errors in logs: # 00:01:21 /home/tcwg-buildslave/workspace/tcwg_gnu_3/abe/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/binutils-binutils.git~master/gdbserver/../../../../../../binutils/gdbsupport/tdesc.cc:407: undefined reference to `tdesc_architecture_name(target_desc const*)' # 00:01:21 /usr/bin/ld: /home/tcwg-buildslave/workspace/tcwg_gnu_3/abe/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/binutils-binutils.git~master/gdbserver/../../../../../../binutils/gdbsupport/tdesc.cc:408: undefined reference to `tdesc_architecture_name(target_desc const*)' # 00:01:21 /usr/bin/ld: /home/tcwg-buildslave/workspace/tcwg_gnu_3/abe/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/binutils-binutils.git~master/gdbserver/../../../../../../binutils/gdbsupport/tdesc.cc:411: undefined reference to `tdesc_osabi_name(target_desc const*)' # 00:01:21 /usr/bin/ld: /home/tcwg-buildslave/workspace/tcwg_gnu_3/abe/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/binutils-binutils.git~master/gdbserver/../../../../../../binutils/gdbsupport/tdesc.cc:416: undefined reference to `tdesc_compatible_info_list(target_desc const*)' # 00:01:21 /usr/bin/ld: /home/tcwg-buildslave/workspace/tcwg_gnu_3/abe/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/binutils-binutils.git~master/gdbserver/../../../../../../binutils/gdbsupport/tdesc.cc:418: undefined reference to `tdesc_compatible_info_arch_name(std::unique_ptr > const&)' # 00:01:21 collect2: error: ld returned 1 exit status # 00:01:21 make[2]: *** [Makefile:383: libinproctrace.so] Error 1 # 00:01:23 make[1]: *** [Makefile:12337: all-gdbserver] Error 2 # 00:01:55 make: *** [Makefile:1000: all] Error 2 from # reset_artifacts: -10 # true: 0 # build_abe binutils: 1 # build_abe bootstrap_lto: 2 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_gcc_bootstrap/master-aarch64-bootstrap_lto First_bad build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/build-fe72c32765e1190c8a17d309fc3a7e1882d6a430/ Last_good build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/build-db94f15756752d3360d0ec81bd8143fa94821f3b/ Baseline build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/ Reproduce builds: mkdir investigate-binutils-fe72c32765e1190c8a17d309fc3a7e1882d6a430 cd investigate-binutils-fe72c32765e1190c8a17d309fc3a7e1882d6a430 # 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_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/manifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-master-aarch64-bootstrap_lto/5/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_gnu-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 fe72c32765e1190c8a17d309fc3a7e1882d6a430 ../artifacts/test.sh # Reproduce last_good build git checkout --detach db94f15756752d3360d0ec81bd8143fa94821f3b ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit fe72c32765e1190c8a17d309fc3a7e1882d6a430 Author: Simon Marchi Date: Thu Dec 9 14:12:18 2021 -0500 gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT` I suppose this code was copied from GDBserver and this ifndef was left there. As far as I know, IN_PROCESS_AGENT will never be defined when building this file, so we can remove this. Change-Id: I84fc408e330b3a29106df830a09342861cadbaf6 --- gdbsupport/tdesc.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdbsupport/tdesc.cc b/gdbsupport/tdesc.cc index c04f4943fc0..b2deea04613 100644 --- a/gdbsupport/tdesc.cc +++ b/gdbsupport/tdesc.cc @@ -400,7 +400,6 @@ void print_xml_feature::visit (const tdesc_reg *r) void print_xml_feature::visit_pre (const target_desc *e) { -#ifndef IN_PROCESS_AGENT add_line (""); add_line (""); add_line (""); @@ -418,7 +417,6 @@ void print_xml_feature::visit_pre (const target_desc *e) for (const auto &c : compatible_list) add_line ("%s", tdesc_compatible_info_arch_name (c)); -#endif } void print_xml_feature::visit_post (const target_desc *e) >>From ci_notify@linaro.org Wed Dec 15 20:49:26 2021 Return-Path: X-Original-To: gcc-regression@gcc.gnu.org Delivered-To: gcc-regression@gcc.gnu.org Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id B94A53858D28 for ; Wed, 15 Dec 2021 20:49:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B94A53858D28 Received: by mail-wr1-x42e.google.com with SMTP id i22so10531828wrb.13 for ; Wed, 15 Dec 2021 12:49:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:to:cc:message-id:subject:mime-version :list-id; bh=YDfuQNflBxGjf31kksB7C3tNaDNDaeuK6ihf3Z1WVCk=; b=eqa9Y/obX3I1oxnQMm9byCYfEFz3AVRB3eXbYAFBhONi82Y6MEW07MTVHs5SAghWgk Q1SNtQ8RfIFldvivP1OwiUhJf+JPxg6o5YSEb3IscmXn+PtidQiIzTQJLXFyRr2aliHF 96gXg+iqtobP2PY6Zn/1LKbKd8IjpAd8uWSMBv2f9goXS/4Wt8EpM5myETwO3jr2nY/F bengYrWlT28Mi5SFJTXHzQ4vL+AAtgvy4dKDzSCZyEKL5yZD38ZfB4DufWkxzIsFvpiK WeES3R+Mcj0DqKFKI9k4zpKzD1M4WQG70aQ9Ese/I7b70fWNVOdpHkoFApQwSBJoa99X cyOA== X-Gm-Message-State: AOAM530iME+XhN7pN+DGkFg4NM6G4i7ZRPbAAMzqwawl3MM7/fKGb4EE 2DKhdaZh/fIpnKibsb6nADuLBA== X-Google-Smtp-Source: ABdhPJzFuShyumdOHk6KHaV1kPMK9UIIKBboimzoQ0rVP7trFkTZAj6H5N6Vd9CkXQz55B5AI0gcrw== X-Received: by 2002:adf:eb05:: with SMTP id s5mr6005106wrn.448.1639601362043; Wed, 15 Dec 2021 12:49:22 -0800 (PST) Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175]) by smtp.gmail.com with ESMTPSA id s189sm2572893wme.0.2021.12.15.12.49.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Dec 2021 12:49:21 -0800 (PST) From: ci_notify@linaro.org X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org Date: Wed, 15 Dec 2021 20:49:20 +0000 (UTC) To: Joel Hutton Cc: gcc-regression@gcc.gnu.org Message-ID: <783731217.4870.1639601361595@jenkins.jenkins> Subject: [TCWG CI] Regression caused by gcc: pr103523: Check for PLUS/MINUS support MIME-Version: 1.0 X-Jenkins-Job: TCWG Bisect tcwg_gcc_bootstrap/release-arm-bootstrap_debug X-Jenkins-Result: SUCCESS X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2021 20:49:26 -0000 [TCWG CI] Regression caused by gcc: pr103523: Check for PLUS/MINUS support: commit f2cc8d059df8aea1b811a4a68512d137f4e83bd5 Author: Joel Hutton pr103523: Check for PLUS/MINUS support Results regressed to # reset_artifacts: -10 # true: 0 # build_abe binutils: 1 # First few build errors in logs: # 00:04:16 ../../../../../../gcc/gcc/tree-vect-loop.c:8000:8: error: =E2=80= =98directly_supported_p=E2=80=99 was not declared in this scope # 00:04:16 make[3]: *** [tree-vect-loop.o] Error 1 # 00:05:16 make[2]: *** [all-stage1-gcc] Error 2 # 00:05:16 make[1]: *** [stage1-bubble] Error 2 # 00:05:16 make: *** [all] Error 2 from # reset_artifacts: -10 # true: 0 # build_abe binutils: 1 # build_abe bootstrap_debug: 2 THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCT= ION INSTRUCTIONS, AND THE RAW COMMIT. This commit has regressed these CI configurations: - tcwg_gcc_bootstrap/release-arm-bootstrap_debug First_bad build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-releas= e-arm-bootstrap_debug/1/artifact/artifacts/build-f2cc8d059df8aea1b811a4a685= 12d137f4e83bd5/ Last_good build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-releas= e-arm-bootstrap_debug/1/artifact/artifacts/build-7054e8517c79dbc6f1fa0952f2= 4f26e4d3cd842d/ Baseline build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-release= -arm-bootstrap_debug/1/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_gcc_bootstrap-bisect-rele= ase-arm-bootstrap_debug/1/artifact/artifacts/ Reproduce builds: mkdir investigate-gcc-f2cc8d059df8aea1b811a4a68512d137f4e83bd5 cd investigate-gcc-f2cc8d059df8aea1b811a4a68512d137f4e83bd5 # 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/tcw= g_gcc_bootstrap-bisect-release-arm-bootstrap_debug/1/artifact/artifacts/man= ifests/build-baseline.sh --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/t= cwg_gcc_bootstrap-bisect-release-arm-bootstrap_debug/1/artifact/artifacts/m= anifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-bise= ct-release-arm-bootstrap_debug/1/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.s= h # 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 f2cc8d059df8aea1b811a4a68512d137f4e83bd5 ../artifacts/test.sh # Reproduce last_good build git checkout --detach 7054e8517c79dbc6f1fa0952f24f26e4d3cd842d ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit f2cc8d059df8aea1b811a4a68512d137f4e83bd5 Author: Joel Hutton Date: Fri Dec 10 10:26:42 2021 +0000 pr103523: Check for PLUS/MINUS support =20 Check for PLUS_EXPR/MINUS_EXPR support in vectorizable_induction. PR103523 is an ICE on valid code: =20 void d(float *a, float b, int c) { float e; for (; c; c--, e +=3D b) a[c] =3D e; } =20 This is due to not checking for PLUS_EXPR support, which is missing in VNx2sf mode. This causes an ICE at expand time. This patch adds a check for support in vectorizable_induction. =20 gcc/ChangeLog: =20 PR tree-optimization/103523 * tree-vect-loop.c (vectorizable_induction): Check for PLUS_EXPR/MINUS_EXPR support. =20 gcc/testsuite/ChangeLog: =20 * gcc.target/aarch64/pr103523.c: New test. --- gcc/testsuite/gcc.target/aarch64/pr103523.c | 8 ++++++++ gcc/tree-vect-loop.c | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/pr103523.c b/gcc/testsuite/gc= c.target/aarch64/pr103523.c new file mode 100644 index 00000000000..736e8936c5f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr103523.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-options "-march=3Darmv8-a+sve -mtune=3Dneoverse-v1 -Ofast" } */ + +void d(float *a, float b, int c) { + float e; + for (; c; c--, e +=3D b) + a[c] =3D e; +} diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index e871df9d1a0..54320681119 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -7992,6 +7992,15 @@ vectorizable_induction (loop_vec_info loop_vinfo, return false; } =20 + step_expr =3D STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_info); + gcc_assert (step_expr !=3D NULL_TREE); + tree step_vectype =3D get_same_sized_vectype (TREE_TYPE (step_expr), vec= type); + + /* Check for backend support of PLUS/MINUS_EXPR. */ + if (!directly_supported_p (PLUS_EXPR, step_vectype) + || !directly_supported_p (MINUS_EXPR, step_vectype)) + return false; + if (!vec_stmt) /* transformation not required. */ { unsigned inside_cost =3D 0, prologue_cost =3D 0; @@ -8051,10 +8060,6 @@ vectorizable_induction (loop_vec_info loop_vinfo, if (dump_enabled_p ()) dump_printf_loc (MSG_NOTE, vect_location, "transform induction phi.\n"= ); =20 - step_expr =3D STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_info); - gcc_assert (step_expr !=3D NULL_TREE); - tree step_vectype =3D get_same_sized_vectype (TREE_TYPE (step_expr), vec= type); - pe =3D loop_preheader_edge (iv_loop); /* Find the first insertion point in the BB. */ basic_block bb =3D gimple_bb (phi); >>From ci_notify@linaro.org Wed Dec 15 22:16:59 2021 Return-Path: X-Original-To: gcc-regression@gcc.gnu.org Delivered-To: gcc-regression@gcc.gnu.org Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by sourceware.org (Postfix) with ESMTPS id 6719F3858D28 for ; Wed, 15 Dec 2021 22:16:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6719F3858D28 Received: by mail-wm1-x331.google.com with SMTP id g191-20020a1c9dc8000000b0032fbf912885so16953568wme.4 for ; Wed, 15 Dec 2021 14:16:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:to:cc:message-id:subject:mime-version :list-id; bh=4swx+/LS18tCsQaL09yBBMAgrj7z9GDtx0x+3VH4OPw=; b=Vi4M1aLQHspvS1zElCSTA+Rkx8kGLHfwX81FwlWwRudHn61ohAR/LioqimUfPBz8ot 1zYw6J7unwVgkQ4T8QN03xBWDxVlnMAOAk6fq4t2Wfp39/HA09GLy0zHA2O3VQMy83Fq WN3iX+nj45qDfb37buS0qW974dgf4DAjzlIp3CVz8iJvB/WFn8uZrh4dQKL/hSkzMQsc 0jg/XKJFGCMmMV9JUY5tQvXSUrR4rem82l0eekMDUbOZybeLBReC0HtBgcBE8TOZ8tj0 y/SZkrhWmUFT4EQhtXvyhHS9QM5cL14WXLH4izYn4Z0K06kGQJBeKaFz4eP034wxgOzM ky3g== X-Gm-Message-State: AOAM530hrpUWxjMbc8tVUhIqDL1EU1BOibrJFAotZ+Jv5I3FMn/5KB18 ufPdmezGmRDYEiib6ljnj2iPQg== X-Google-Smtp-Source: ABdhPJzCIuAlohTfH/79eicxNwmz4i2e29Yb7k6YdtkGc0USN099ZzyzWfc4Mxiu8D8/hJ9zEAlKRg== X-Received: by 2002:a05:600c:294:: with SMTP id 20mr2084374wmk.7.1639606615235; Wed, 15 Dec 2021 14:16:55 -0800 (PST) Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175]) by smtp.gmail.com with ESMTPSA id o5sm2964161wrx.83.2021.12.15.14.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Dec 2021 14:16:54 -0800 (PST) From: ci_notify@linaro.org X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org Date: Wed, 15 Dec 2021 22:16:52 +0000 (UTC) To: "Vladimir N. Makarov" Cc: gcc-regression@gcc.gnu.org Message-ID: <1940719124.4902.1639606614447@jenkins.jenkins> Subject: [TCWG CI] 444.namd grew in size by 2% after gcc: [PR99531] Modify pseudo class cost calculation when processing move involving the pseudo and a hard register MIME-Version: 1.0 X-Jenkins-Job: TCWG Bisect tcwg_bmk_apm/gnu-master-aarch64-spec2k6-Os X-Jenkins-Result: SUCCESS X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2021 22:16:59 -0000 After gcc commit a7acb6dca941db2b1c135107dac3a34a20650d5c Author: Vladimir N. Makarov [PR99531] Modify pseudo class cost calculation when processing move involving the pseudo and a hard register the following benchmarks grew in size by more than 1%: - 444.namd grew in size by 2% from 191127 to 195683 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_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/build-a7acb6dca941db2b1c135107dac3a34a20650d5c/save-temps/ - Last_good save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/build-149739c39475f3691e67aa0aee4f205f4e83392f/save-temps/ - Baseline save-temps: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/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: -Os - 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_gnu_apm/gnu-master-aarch64-spec2k6-Os First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/build-a7acb6dca941db2b1c135107dac3a34a20650d5c/ Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/build-149739c39475f3691e67aa0aee4f205f4e83392f/ Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/build-baseline/ Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/ Reproduce builds: mkdir investigate-gcc-a7acb6dca941db2b1c135107dac3a34a20650d5c cd investigate-gcc-a7acb6dca941db2b1c135107dac3a34a20650d5c # 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_apm-gnu-master-aarch64-spec2k6-Os/12/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_apm-gnu-master-aarch64-spec2k6-Os/12/artifact/artifacts/manifests/build-parameters.sh --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_apm-gnu-master-aarch64-spec2k6-Os/12/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 a7acb6dca941db2b1c135107dac3a34a20650d5c ../artifacts/test.sh # Reproduce last_good build git checkout --detach 149739c39475f3691e67aa0aee4f205f4e83392f ../artifacts/test.sh cd .. Full commit (up to 1000 lines): commit a7acb6dca941db2b1c135107dac3a34a20650d5c Author: Vladimir N. Makarov Date: Mon Dec 13 13:48:12 2021 -0500 [PR99531] Modify pseudo class cost calculation when processing move involving the pseudo and a hard register Pseudo class calculated on the 1st iteration should not have a special treatment in cost calculation when processing move involving the pseudo and a hard register. gcc/ChangeLog: PR target/99531 * ira-costs.c (record_operand_costs): Do not take pseudo class calculated on the 1st iteration into account when processing move involving the pseudo and a hard register. gcc/testsuite/ChangeLog: PR target/99531 * gcc.target/i386/pr99531.c: New test. --- gcc/ira-costs.c | 22 +--------------------- gcc/testsuite/gcc.target/i386/pr99531.c | 7 +++++++ 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index cb5ca8bc21b..d7191dcee3e 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -1310,7 +1310,7 @@ record_operand_costs (rtx_insn *insn, enum reg_class *pref) machine_mode mode = GET_MODE (SET_SRC (set)); cost_classes_t cost_classes_ptr = regno_cost_classes[regno]; enum reg_class *cost_classes = cost_classes_ptr->classes; - reg_class_t rclass, hard_reg_class, pref_class, bigger_hard_reg_class; + reg_class_t rclass, hard_reg_class, bigger_hard_reg_class; int cost, k; move_table *move_costs; bool dead_p = find_regno_note (insn, REG_DEAD, REGNO (src)); @@ -1336,23 +1336,6 @@ record_operand_costs (rtx_insn *insn, enum reg_class *pref) : move_costs[rclass][hard_reg_class]); op_costs[i]->cost[k] = cost * frequency; - /* If we have assigned a class to this allocno in our - first pass, add a cost to this alternative - corresponding to what we would add if this allocno - were not in the appropriate class. */ - if (pref) - { - if ((pref_class = pref[COST_INDEX (regno)]) == NO_REGS) - op_costs[i]->cost[k] - += ((i == 0 ? ira_memory_move_cost[mode][rclass][0] : 0) - + (i == 1 ? ira_memory_move_cost[mode][rclass][1] : 0) - * frequency); - else if (ira_reg_class_intersect[pref_class][rclass] - == NO_REGS) - op_costs[i]->cost[k] - += (move_costs[pref_class][rclass] - * frequency); - } /* If this insn is a single set copying operand 1 to operand 0 and one operand is an allocno with the other a hard reg or an allocno that prefers a hard @@ -1378,9 +1361,6 @@ record_operand_costs (rtx_insn *insn, enum reg_class *pref) } op_costs[i]->mem_cost = ira_memory_move_cost[mode][hard_reg_class][i] * frequency; - if (pref && (pref_class = pref[COST_INDEX (regno)]) != NO_REGS) - op_costs[i]->mem_cost - += ira_memory_move_cost[mode][pref_class][i] * frequency; return; } } diff --git a/gcc/testsuite/gcc.target/i386/pr99531.c b/gcc/testsuite/gcc.target/i386/pr99531.c new file mode 100644 index 00000000000..0e1a08b7c77 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr99531.c @@ -0,0 +1,7 @@ +/* { dg-do compile { target { x86_64-*-linux* } } } */ +/* { dg-options "-O2" } */ + +int func(int, int, int, int, int, int); +int caller(int a, int b, int c, int d, int e) { return func(0, a, b, c, d, e); } + +/* { dg-final { scan-assembler-not "push" } } */ >>From hjl@sc.intel.com Thu Dec 16 00:05:40 2021 Return-Path: X-Original-To: gcc-regression@gcc.gnu.org Delivered-To: gcc-regression@gcc.gnu.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id A70D83858D35 for ; Thu, 16 Dec 2021 00:05:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A70D83858D35 X-IronPort-AV: E=McAfee;i="6200,9189,10199"; a="219378915" X-IronPort-AV: E=Sophos;i="5.88,209,1635231600"; d="scan'208";a="219378915" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2021 16:05:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,209,1635231600"; d="scan'208";a="584576762" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga004.fm.intel.com with ESMTP; 15 Dec 2021 16:05:31 -0800 Received: from gnu-34.sc.intel.com (gnu-34.sc.intel.com [172.25.70.212]) by scymds02.sc.intel.com with ESMTP id 1BG05V51019874; Wed, 15 Dec 2021 16:05:31 -0800 Received: by gnu-34.sc.intel.com (Postfix, from userid 1000) id 3BCDA63852; Wed, 15 Dec 2021 16:05:31 -0800 (PST) Date: Wed, 15 Dec 2021 16:05:31 -0800 To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org Subject: Regressions on master at commit r12-6003 vs commit r12-6000 on Linux/x86_64 User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20211216000531.3BCDA63852@gnu-34.sc.intel.com> From: "H.J. Lu" X-Spam-Status: No, score=-3466.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Dec 2021 00:05:40 -0000 New failures: New passes: FAIL: gcc.dg/guality/pr36728-4.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 14 y == 2 FAIL: gcc.dg/guality/pr36728-4.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 16 y == 2 FAIL: gcc.dg/guality/pr36728-4.c -O3 -g -DPREVENT_OPTIMIZATION line 16 y == 2