https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89655
Bug ID: 89655 Summary: GCC crashes building linux kernel for arm 32-bit (culprit r269453) Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: mkuvyrkov at gcc dot gnu.org Target Milestone: --- Created attachment 45933 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45933&action=edit Reproducer tarball After r269453 GCC ICEs when building linux kernel for AArch32 in allmodconfig and allyesconfig kernel configurations. I've reduced the crash down to a single preprocessed file, but could not eliminate all kernel plugins -- one plugin is still left. The attached tarball has preprocessed source, binary plugin and GCC's configuration string. Culprit: <cut> commit 791a496442cb02f7ab6b50e291e1f0669e09e99d Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Mar 7 12:46:44 2019 +0000 2019-03-07 Richard Biener <rguent...@suse.de> PR tree-optimization/89595 * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take stmt iterator as reference, take boolean output parameter to indicate whether the stmt was removed and thus the iterator already advanced. (dom_opt_dom_walker::before_dom_children): Re-iterate over stmts created by folding. * gcc.dg/torture/pr89595.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269453 138bc75d-0d04-0410-961f-82ee72b054a4 </cut> Reproduction instructions from Linaro TCWG's automated bisections (just in case): Reproduce builds: <cut> mkdir investigate-gcc-791a496442cb02f7ab6b50e291e1f0669e09e99d cd investigate-gcc-791a496442cb02f7ab6b50e291e1f0669e09e99d 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_kernel-bisect-gnu-master-arm-lts-allyesconfig/11/artifact/artifacts/manifests/build-baseline.sh curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_kernel-bisect-gnu-master-arm-lts-allyesconfig/11/artifact/artifacts/manifests/build-parameters.sh curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_kernel-bisect-gnu-master-arm-lts-allyesconfig/11/artifact/artifacts/test.sh chmod +x artifacts/test.sh # Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_kernel-build.sh @@ artifacts/manifests/build-baseline.sh cd gcc # Reproduce first_bad build git checkout --detach 791a496442cb02f7ab6b50e291e1f0669e09e99d ../artifacts/test.sh # Reproduce last_good build git checkout --detach 02a7fc594d3a0b1f2b2fc8d5fd8ea425ff45d418 ../artifacts/test.sh cd .. </cut>