From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 110EF3858D32; Mon, 19 Jun 2023 07:08:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 110EF3858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1687158517; bh=vmuWXpuS/6gM8zbU0UpiRqJyokNERXLut7DKm/xDVks=; h=From:To:Subject:Date:From; b=XmxubVmbd4xy6GEOnnmJfZu/gvDAuuvJU4MidZxPitXtiwaUHu6QEDVbpNcHCBjqp KxfN1Qjabk9Bdyl+tSDZclWRMO2JBZB28qCjGzqvTfpaxmdWuBcDr2nS/HVzsVUT8q 4UgumkY5G5x//S2E5kdJFm4wMOIMVSM7e4d7JNkA= From: "matoro_gcc_bugzilla at matoro dot tk" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/110307] New: ICE in move_insn, at haifa-sched.cc:5473 on alpha with -fPIC -fpeephole2 -fschedule-insns2 Date: Mon, 19 Jun 2023 07:08:36 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 13.1.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: matoro_gcc_bugzilla at matoro dot tk X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D110307 Bug ID: 110307 Summary: ICE in move_insn, at haifa-sched.cc:5473 on alpha with -fPIC -fpeephole2 -fschedule-insns2 Product: gcc Version: 13.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: matoro_gcc_bugzilla at matoro dot tk Target Milestone: --- Minimized reproducer: $ cat test.c _Thread_local struct rb_execution_context_struct ruby_current_ec; struct rb_execution_context_struct { int fiber_ptr } rb_fiber_start() { __builtin_setjmp(0); if (ruby_current_ec.fiber_ptr) root_fiber_alloc(); } $ alpha-unknown-linux-gnu-gcc -O1 -fpeephole2 -fschedule-insns2 -fPIC test.= c -o test.o -c test.c:4:1: warning: no semicolon at end of struct or union 4 | } rb_fiber_start() { | ^ test.c: In function =E2=80=98rb_fiber_start=E2=80=99: test.c:7:5: warning: implicit declaration of function =E2=80=98root_fiber_a= lloc=E2=80=99 [-Wimplicit-function-declaration] 7 | root_fiber_alloc(); | ^~~~~~~~~~~~~~~~ during RTL pass: sched2 test.c:8:1: internal compiler error: in move_insn, at haifa-sched.cc:5473 8 | } | ^ -fPIC is required to reproduce, as well as both -fpeephole2 and -fschedule-insns2 optimizers (or simply -O2 which includes them). Removing= any of those three flags no longer reproduces. If required I can also work on getting a complete stack trace. If somebody would like to take a look at t= his without the appropriate hardware, mine is publicly available for use. $ alpha-unknown-linux-gnu-gcc --version --verbose Using built-in specs. COLLECT_AS_OPTIONS=3D'--version' COLLECT_GCC=3Dgcc COLLECT_LTO_WRAPPER=3D/usr/libexec/gcc/alpha-unknown-linux-gnu/13/lto-wrapp= er gcc (Gentoo 13.1.1_p20230527 p3) 13.1.1 20230527 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Target: alpha-unknown-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-13.1.1_p20230527/work/gcc-13-20230527/config= ure --host=3Dalpha-unknown-linux-gnu --build=3Dalpha-unknown-linux-gnu --prefix= =3D/usr --bindir=3D/usr/alpha-unknown-linux-gnu/gcc-bin/13 --includedir=3D/usr/lib/gcc/alpha-unknown-linux-gnu/13/include --datadir=3D/usr/share/gcc-data/alpha-unknown-linux-gnu/13 --mandir=3D/usr/share/gcc-data/alpha-unknown-linux-gnu/13/man --infodir=3D/usr/share/gcc-data/alpha-unknown-linux-gnu/13/info --with-gxx-include-dir=3D/usr/lib/gcc/alpha-unknown-linux-gnu/13/include/g+= +-v13 --with-python-dir=3D/share/gcc-data/alpha-unknown-linux-gnu/13/python --enable-languages=3Dc,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=3Drelease --with-bugurl=3Dhttps://bugs.gentoo.org/ --with-pkgversion=3D'Gentoo 13.1.1_p20230527 p3' --with-gcc-major-version-only --disable-esp --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=3Dposix --enable-__cxa_atexit --enable-clocale=3Dgnu --disable-multilib --disable-fixed-point --enable-libgomp --disable-libssp --disable-libada --disable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --without-isl --disable-libsanitizer --enable-default-pie --disable-default-ssp Thread model: posix Supported LTO compression algorithms: zlib gcc version 13.1.1 20230527 (Gentoo 13.1.1_p20230527 p3)=20 COLLECT_GCC_OPTIONS=3D'--version' '-v' '-dumpdir' 'a-' /usr/libexec/gcc/alpha-unknown-linux-gnu/13/cc1 -quiet -v help-dummy -quiet -dumpdir a- -dumpbase help-dummy -version --version -o /tmp/ccNd1lqC.s GNU C17 (Gentoo 13.1.1_p20230527 p3) version 13.1.1 20230527 (alpha-unknown-linux-gnu) compiled by GNU C version 13.1.1 20230527, GMP version 6.2.1, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version none GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 COLLECT_GCC_OPTIONS=3D'--version' '-v' '-dumpdir' 'a-' /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../../alpha-unknown-linux-gnu= /bin/as -v --version -o /tmp/ccq4Tbtn.o /tmp/ccNd1lqC.s GNU assembler version 2.40.0 (alpha-unknown-linux-gnu) using BFD version (Gentoo 2.40 p5) 2.40.0 GNU assembler (Gentoo 2.40 p5) 2.40.0 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `alpha-unknown-linux-gnu'. COMPILER_PATH=3D/usr/libexec/gcc/alpha-unknown-linux-gnu/13/:/usr/libexec/g= cc/alpha-unknown-linux-gnu/13/:/usr/libexec/gcc/alpha-unknown-linux-gnu/:/u= sr/lib/gcc/alpha-unknown-linux-gnu/13/:/usr/lib/gcc/alpha-unknown-linux-gnu= /:/usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../../alpha-unknown-linux-g= nu/bin/ LIBRARY_PATH=3D/usr/lib/gcc/alpha-unknown-linux-gnu/13/:/usr/lib/gcc/alpha-= unknown-linux-gnu/13/../../../../alpha-unknown-linux-gnu/lib/:/usr/lib/gcc/= alpha-unknown-linux-gnu/13/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS=3D'--version' '-v' '-dumpdir' 'a.' /usr/libexec/gcc/alpha-unknown-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/alpha-unknown-linux-gnu/13/liblto_plugin.so -plugin-opt=3D/usr/libexec/gcc/alpha-unknown-linux-gnu/13/lto-wrapper -plugin-opt=3D-fresolution=3D/tmp/cckUzA7Z.res -plugin-opt=3D-pass-through= =3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s -plugin-opt=3D-pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s --eh-frame-hdr -m elf64alpha -O1 -dynamic-linker /lib/ld-linux.so.2 -pie --version /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crt1.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crti.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/alpha-unknown-linux-gnu/13 -L/usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../../alpha-unknown-linux-g= nu/lib -L/usr/lib/gcc/alpha-unknown-linux-gnu/13/../../.. /tmp/ccq4Tbtn.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-ne= eded -lgcc_s --pop-state /usr/lib/gcc/alpha-unknown-linux-gnu/13/crtend.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crtn.o collect2 version 13.1.1 20230527 /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../../alpha-unknown-linux-gnu= /bin/ld -plugin /usr/libexec/gcc/alpha-unknown-linux-gnu/13/liblto_plugin.so -plugin-opt=3D/usr/libexec/gcc/alpha-unknown-linux-gnu/13/lto-wrapper -plugin-opt=3D-fresolution=3D/tmp/cckUzA7Z.res -plugin-opt=3D-pass-through= =3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s -plugin-opt=3D-pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s --eh-frame-hdr -m elf64alpha -O1 -dynamic-linker /lib/ld-linux.so.2 -pie --version /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crt1.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crti.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/alpha-unknown-linux-gnu/13 -L/usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../../alpha-unknown-linux-g= nu/lib -L/usr/lib/gcc/alpha-unknown-linux-gnu/13/../../.. /tmp/ccq4Tbtn.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-ne= eded -lgcc_s --pop-state /usr/lib/gcc/alpha-unknown-linux-gnu/13/crtend.o /usr/lib/gcc/alpha-unknown-linux-gnu/13/../../../crtn.o GNU ld (Gentoo 2.40 p5) 2.40.0 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later versio= n. This program has absolutely no warranty. COLLECT_GCC_OPTIONS=3D'--version' '-v' '-dumpdir' 'a.'=