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 6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Thu Oct 31 17:16:31 2019 +0000 [AArch64] Fix build for non-default languages The SVE PCS support broke go, D and Ada because those languages don't call TARGET_INIT_BUILTINS. We therefore ended up trying to get the TYPE_MAIN_VARIANT of a null __SVBool_t. We shouldn't really need to apply TYPE_MAIN_VARIANT there anyway, since the ABI-defined types are (and need to be) their own main variants. This patch asserts for that instead. 2019-10-31 Richard Sandiford <richard.sandif...@arm.com> gcc/ * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Assert that the type we store in abi_vector_types is its own main variant. (svbool_type_p): Don't apply TYPE_MAIN_VARIANT here. From-SVN: r277680 </cut> Results regressed to (for first_bad == 6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093) # 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-6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093/results_id: 1 # 458.sjeng,[.] setup_attackers regressed by 111 # 458.sjeng,[.] search regressed by 215 from (for last_good == aaa80941e042d18dcd5add6e7bb28cb392767a39) # 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-aaa80941e042d18dcd5add6e7bb28cb392767a39/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/20/artifact/artifacts/build-aaa80941e042d18dcd5add6e7bb28cb392767a39/ Results ID of last_good: tx1_64/tcwg_bmk_gnu_tx1/bisect-gnu-release-aarch64-spec2k6-O2/2854 Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/20/artifact/artifacts/build-6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093/ Results ID of first_bad: tx1_64/tcwg_bmk_gnu_tx1/bisect-gnu-release-aarch64-spec2k6-O2/2851 Build top page/logs: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/20/ Configuration details: Reproduce builds: <cut> mkdir investigate-gcc-6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093 cd investigate-gcc-6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093 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/20/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/20/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/20/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 6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093 ../artifacts/test.sh # Reproduce last_good build git checkout --detach aaa80941e042d18dcd5add6e7bb28cb392767a39 ../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/20/artifact/artifacts/ Build log: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tx1-gnu-release-aarch64-spec2k6-O2/20/consoleText Full commit (up to 1000 lines): <cut> commit 6ff0cdebb1bc281ba2374f3ecdbe358c4fa74093 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Thu Oct 31 17:16:31 2019 +0000 [AArch64] Fix build for non-default languages The SVE PCS support broke go, D and Ada because those languages don't call TARGET_INIT_BUILTINS. We therefore ended up trying to get the TYPE_MAIN_VARIANT of a null __SVBool_t. We shouldn't really need to apply TYPE_MAIN_VARIANT there anyway, since the ABI-defined types are (and need to be) their own main variants. This patch asserts for that instead. 2019-10-31 Richard Sandiford <richard.sandif...@arm.com> gcc/ * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Assert that the type we store in abi_vector_types is its own main variant. (svbool_type_p): Don't apply TYPE_MAIN_VARIANT here. From-SVN: r277680 --- gcc/ChangeLog | 7 +++++++ gcc/config/aarch64/aarch64-sve-builtins.cc | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66b7a142251..affa74cdd25 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-10-31 Richard Sandiford <richard.sandif...@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): + Assert that the type we store in abi_vector_types is its own + main variant. + (svbool_type_p): Don't apply TYPE_MAIN_VARIANT here. + 2019-10-31 Richard Earnshaw <rearn...@arm.com> * config/arm/arm.c (arm_legitimize_address): Don't form negative offsets diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index 70d7b1a165d..424f64adfef 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -2993,6 +2993,7 @@ register_builtin_types () BITS_PER_SVE_VECTOR)); } vectype = build_distinct_type_copy (vectype); + gcc_assert (vectype == TYPE_MAIN_VARIANT (vectype)); SET_TYPE_STRUCTURAL_EQUALITY (vectype); TYPE_ARTIFICIAL (vectype) = 1; abi_vector_types[i] = vectype; @@ -3235,8 +3236,7 @@ bool svbool_type_p (const_tree type) { tree abi_type = abi_vector_types[VECTOR_TYPE_svbool_t]; - return (type != error_mark_node - && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (abi_type)); + return type != error_mark_node && TYPE_MAIN_VARIANT (type) == abi_type; } /* If TYPE is a built-in type defined by the SVE ABI, return the mangled name, </cut> _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain