public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* [TCWG CI] Regression caused by binutils: gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT`
@ 2021-12-15 15:50 ci_notify
  0 siblings, 0 replies; only message in thread
From: ci_notify @ 2021-12-15 15:50 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gcc-regression

[TCWG CI] Regression caused by binutils: gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT`:
commit fe72c32765e1190c8a17d309fc3a7e1882d6a430
Author: Simon Marchi <simon.marchi@efficios.com>

    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<tdesc_compatible_info, std::default_delete<tdesc_compatible_info> > 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:
<cut>
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 ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit fe72c32765e1190c8a17d309fc3a7e1882d6a430
Author: Simon Marchi <simon.marchi@efficios.com>
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 ("<?xml version=\"1.0\"?>");
   add_line ("<!DOCTYPE target SYSTEM \"gdb-target.dtd\">");
   add_line ("<target>");
@@ -418,7 +417,6 @@ void print_xml_feature::visit_pre (const target_desc *e)
   for (const auto &c : compatible_list)
     add_line ("<compatible>%s</compatible>",
 	      tdesc_compatible_info_arch_name (c));
-#endif
 }
 
 void print_xml_feature::visit_post (const target_desc *e)
</cut>
>From ci_notify@linaro.org  Wed Dec 15 20:49:26 2021
Return-Path: <ci_notify@linaro.org>
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 <gcc-regression@gcc.gnu.org>; 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 <gcc-regression@gcc.gnu.org>; 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 <joel.hutton@arm.com>
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 <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=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 <joel.hutton@arm.com>

    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:
<cut>
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 ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit f2cc8d059df8aea1b811a4a68512d137f4e83bd5
Author: Joel Hutton <joel.hutton@arm.com>
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);
</cut>
>From ci_notify@linaro.org  Wed Dec 15 22:16:59 2021
Return-Path: <ci_notify@linaro.org>
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 <gcc-regression@gcc.gnu.org>; 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 <gcc-regression@gcc.gnu.org>; 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" <vmakarov@redhat.com>
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 <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Dec 2021 22:16:59 -0000

After gcc commit a7acb6dca941db2b1c135107dac3a34a20650d5c
Author: Vladimir N. Makarov <vmakarov@redhat.com>

    [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:
<cut>
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 ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit a7acb6dca941db2b1c135107dac3a34a20650d5c
Author: Vladimir N. Makarov <vmakarov@redhat.com>
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" } } */
</cut>
>From hjl@sc.intel.com  Thu Dec 16 00:05:40 2021
Return-Path: <hjl@sc.intel.com>
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 <gcc-regression@gcc.gnu.org>; 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" <hjl@sc.intel.com>
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 <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-15 15:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-15 15:50 [TCWG CI] Regression caused by binutils: gdbsupport: remove unnecessary `#ifndef IN_PROCESS_AGENT` ci_notify

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).