Successfully identified regression in *gcc* in CI configuration tcwg_bmk_gnu_tx1/gnu-release-aarch64-spec2k6-O2. So far, this commit has regressed CI configurations: - tcwg_bmk_gnu_tx1/gnu-release-aarch64-spec2k6-O2
Culprit: <cut> commit 4c4503bf8c538bdbd8db8940aae3d7000885776e Author: Martin Liska <mli...@suse.cz> Date: Thu Nov 14 13:04:45 2019 +0100 Remove dead code in switch conv pass. 2019-11-14 Martin Liska <mli...@suse.cz> * tree-switch-conversion.c (switch_conversion::switch_conversion): Do not initialize m_other_count. (switch_conversion::collect): Do not count m_default_count and m_other_count as we use frequencies for edges. * tree-switch-conversion.h: Remove m_default_count and m_other_count. From-SVN: r278217 </cut> Results regressed to (for first_bad == 4c4503bf8c538bdbd8db8940aae3d7000885776e) # 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 -- -O2 artifacts/build-4c4503bf8c538bdbd8db8940aae3d7000885776e/results_id: 1 # 401.bzip2,bzip2_base.default regressed by 104 # 401.bzip2,[.] mainSort regressed by 116 from (for last_good == e61d0e4e2ed8170491e7dfe597340f86a75a31cd) # 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 -- -O2 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-O2/22/artifact/artifacts/build-e61d0e4e2ed8170491e7dfe597340f86a75a31cd/ Results ID of last_good: tx1_64/tcwg_bmk_gnu_tx1/baseline-gnu-release-aarch64-spec2k6-O2/3251 Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/22/artifact/artifacts/build-4c4503bf8c538bdbd8db8940aae3d7000885776e/ Results ID of first_bad: tx1_64/tcwg_bmk_gnu_tx1/bisect-gnu-release-aarch64-spec2k6-O2/3279 Build top page/logs: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/22/ Configuration details: Reproduce builds: <cut> mkdir investigate-gcc-4c4503bf8c538bdbd8db8940aae3d7000885776e cd investigate-gcc-4c4503bf8c538bdbd8db8940aae3d7000885776e 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-O2/22/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-O2/22/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-O2/22/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 4c4503bf8c538bdbd8db8940aae3d7000885776e ../artifacts/test.sh # Reproduce last_good build git checkout --detach e61d0e4e2ed8170491e7dfe597340f86a75a31cd ../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-O2 Artifacts: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/22/artifact/artifacts/ Build log: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/22/consoleText Full commit (up to 1000 lines): <cut> commit 4c4503bf8c538bdbd8db8940aae3d7000885776e Author: Martin Liska <mli...@suse.cz> Date: Thu Nov 14 13:04:45 2019 +0100 Remove dead code in switch conv pass. 2019-11-14 Martin Liska <mli...@suse.cz> * tree-switch-conversion.c (switch_conversion::switch_conversion): Do not initialize m_other_count. (switch_conversion::collect): Do not count m_default_count and m_other_count as we use frequencies for edges. * tree-switch-conversion.h: Remove m_default_count and m_other_count. From-SVN: r278217 --- gcc/ChangeLog | 8 ++++++++ gcc/tree-switch-conversion.c | 6 +----- gcc/tree-switch-conversion.h | 6 ------ 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6060edff243..6b77d87a97d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-11-14 Martin Liska <mli...@suse.cz> + + * tree-switch-conversion.c (switch_conversion::switch_conversion): + Do not initialize m_other_count. + (switch_conversion::collect): Do not count m_default_count and + m_other_count as we use frequencies for edges. + * tree-switch-conversion.h: Remove m_default_count and m_other_count. + 2019-11-14 Martin Liska <mli...@suse.cz> PR other/92329 diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c index af4fd5e33bd..e741f56b520 100644 --- a/gcc/tree-switch-conversion.c +++ b/gcc/tree-switch-conversion.c @@ -61,7 +61,7 @@ using namespace tree_switch_conversion; /* Constructor. */ -switch_conversion::switch_conversion (): m_final_bb (NULL), m_other_count (), +switch_conversion::switch_conversion (): m_final_bb (NULL), m_constructors (NULL), m_default_values (NULL), m_arr_ref_first (NULL), m_arr_ref_last (NULL), m_reason (NULL), m_default_case_nonstandard (false), m_cfg_altered (false) @@ -89,10 +89,6 @@ switch_conversion::collect (gswitch *swtch) e_default = gimple_switch_default_edge (cfun, swtch); m_default_bb = e_default->dest; m_default_prob = e_default->probability; - m_default_count = e_default->count (); - FOR_EACH_EDGE (e, ei, m_switch_bb->succs) - if (e != e_default) - m_other_count += e->count (); /* Get upper and lower bounds of case values, and the covered range. */ min_case = gimple_switch_label (swtch, 1); diff --git a/gcc/tree-switch-conversion.h b/gcc/tree-switch-conversion.h index c58bccea7f1..a0639fc5477 100644 --- a/gcc/tree-switch-conversion.h +++ b/gcc/tree-switch-conversion.h @@ -819,12 +819,6 @@ public: /* The probability of the default edge in the replaced switch. */ profile_probability m_default_prob; - /* The count of the default edge in the replaced switch. */ - profile_count m_default_count; - - /* Combined count of all other (non-default) edges in the replaced switch. */ - profile_count m_other_count; - /* Number of phi nodes in the final bb (that we'll be replacing). */ int m_phi_count; </cut> _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain