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.kulkarni@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.kulkarni@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-aa... 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-aa... 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-aa...
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-aa... --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aa... --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aa... --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/c...
Artifacts: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aa... Build log: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aa...
Full commit (up to 1000 lines): <cut> commit f30b3d2891cef9803badb3f85d739c0fcfafd585 Author: Prathamesh Kulkarni prathamesh.kulkarni@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.kulkarni@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.kulkarni@linaro.org + + * tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce + after local CSE. + 2019-10-01 Jan Hubicka hubicka@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>