Successfully identified regression in *gcc* in CI configuration 
tcwg_bmk_gnu_tx1/gnu-release-aarch64-spec2k6-O3.  So far, this commit has 
regressed CI configurations:
 - tcwg_bmk_gnu_tx1/gnu-release-aarch64-spec2k6-O3

Culprit:
<cut>
commit f30b3d2891cef9803badb3f85d739c0fcfafd585
Author: Prathamesh Kulkarni <prathamesh.kulka...@linaro.org>
Date:   Tue Oct 1 17:10:01 2019 +0000

    tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce after 
local CSE.
    
    2019-10-01  Prathamesh Kulkarni  <prathamesh.kulka...@linaro.org>
    
            * tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce
            after local CSE.
    
    From-SVN: r276417
</cut>

Results regressed to (for first_bad == f30b3d2891cef9803badb3f85d739c0fcfafd585)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer:
-5
# true:
0
# benchmark -O3 -- 
artifacts/build-f30b3d2891cef9803badb3f85d739c0fcfafd585/results_id:
1
# 470.lbm,lbm_base.default                                      regressed by 104

from (for last_good == 0b92cf305dcf34387a8e2564e55ca8948df3b47a)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer:
-5
# true:
0
# benchmark -O3 -- artifacts/build-baseline/results_id:
1

Artifacts of last_good build: 
https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O3/26/artifact/artifacts/build-0b92cf305dcf34387a8e2564e55ca8948df3b47a/
Results ID of last_good: 
tx1_64/tcwg_bmk_gnu_tx1/baseline-gnu-release-aarch64-spec2k6-O3/1273
Artifacts of first_bad build: 
https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O3/26/artifact/artifacts/build-f30b3d2891cef9803badb3f85d739c0fcfafd585/
Results ID of first_bad: 
tx1_64/tcwg_bmk_gnu_tx1/bisect-gnu-release-aarch64-spec2k6-O3/1330
Build top page/logs: 
https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O3/26/

Configuration details:


Reproduce builds:
<cut>
mkdir investigate-gcc-f30b3d2891cef9803badb3f85d739c0fcfafd585
cd investigate-gcc-f30b3d2891cef9803badb3f85d739c0fcfafd585

git clone https://git.linaro.org/toolchain/jenkins-scripts

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-release-aarch64-spec2k6-O3/26/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-release-aarch64-spec2k6-O3/26/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-release-aarch64-spec2k6-O3/26/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

cd gcc

# Reproduce first_bad build
git checkout --detach f30b3d2891cef9803badb3f85d739c0fcfafd585
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 0b92cf305dcf34387a8e2564e55ca8948df3b47a
../artifacts/test.sh

cd ..
</cut>

History of pending regressions and results: 
https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-local/ci/tcwg_bmk_gnu_tx1/gnu-release-aarch64-spec2k6-O3

Artifacts: 
https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O3/26/artifact/artifacts/
Build log: 
https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O3/26/consoleText

Full commit (up to 1000 lines):
<cut>
commit f30b3d2891cef9803badb3f85d739c0fcfafd585
Author: Prathamesh Kulkarni <prathamesh.kulka...@linaro.org>
Date:   Tue Oct 1 17:10:01 2019 +0000

    tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce after 
local CSE.
    
    2019-10-01  Prathamesh Kulkarni  <prathamesh.kulka...@linaro.org>
    
            * tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce
            after local CSE.
    
    From-SVN: r276417
---
 gcc/ChangeLog      | 5 +++++
 gcc/tree-if-conv.c | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b4c4292c299..08951d94f50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-01  Prathamesh Kulkarni  <prathamesh.kulka...@linaro.org>
+
+       * tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce
+       after local CSE.
+
 2019-10-01  Jan Hubicka  <hubi...@ucw.cz>
 
        * doc/invoke.texi (early-inlining-insns-O2): Document.
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 40ad4c5947a..822aae5b83f 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -3060,9 +3060,6 @@ tree_if_conversion (class loop *loop, vec<gimple *> 
*preds)
      on-the-fly.  */
   combine_blocks (loop);
 
-  /* Delete dead predicate computations.  */
-  ifcvt_local_dce (loop->header);
-
   /* Perform local CSE, this esp. helps the vectorizer analysis if loads
      and stores are involved.  CSE only the loop body, not the entry
      PHIs, those are to be kept in sync with the non-if-converted copy.
@@ -3071,6 +3068,9 @@ tree_if_conversion (class loop *loop, vec<gimple *> 
*preds)
   bitmap_set_bit (exit_bbs, single_exit (loop)->dest->index);
   bitmap_set_bit (exit_bbs, loop->latch->index);
   todo |= do_rpo_vn (cfun, loop_preheader_edge (loop), exit_bbs);
+
+  /* Delete dead predicate computations.  */
+  ifcvt_local_dce (loop->header);
   BITMAP_FREE (exit_bbs);
 
   todo |= TODO_cleanup_cfg;
</cut>
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to