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 <[email protected]>
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.