https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113097
Bug ID: 113097 Summary: [14 Regression] LRA ICE building glibc for arc Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: vmakarov at gcc dot gnu.org Target Milestone: --- Target: arc*-*-* Created attachment 56911 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56911&action=edit preprocessed source Compile the attached code, from glibc, with -O2 for arc-linux-gnu. during RTL pass: reload In file included from gconv_simple.c:587: ../iconv/skeleton.c: In function '__gconv_transform_ascii_internal': ../iconv/skeleton.c:663:1: internal compiler error: maximum number of LRA assignment passes is achieved (30) 0xd2b202 lra_assign(bool&) /scratch/jmyers/glibc/many14/src/gcc/gcc/lra-assigns.cc:1696 0xd25164 lra(_IO_FILE*, int) /scratch/jmyers/glibc/many14/src/gcc/gcc/lra.cc:2493 0xcdb80f do_reload /scratch/jmyers/glibc/many14/src/gcc/gcc/ira.cc:5973 0xcdb80f execute /scratch/jmyers/glibc/many14/src/gcc/gcc/ira.cc:6161 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. ICE introduced by commit 989e67f827b74b76e58abe137ce12d948af2290c Author: Vladimir N. Makarov <vmaka...@redhat.com> Date: Mon Dec 18 17:12:23 2023 -0500 [PR112918][LRA]: Fixing IRA ICE on m68k Some GCC tests on m68K port of LRA is failed on `maximum number of generated reload insns per insn achieved`. The problem is in that for subreg reload LRA can not narrow reg class more from ALL_REGS to GENERAL_REGS and then to data regs or address regs. The patch permits narowing reg class from reload insns if this results in succesful matching of reg operand.