https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124167
Bug ID: 124167
Summary: ICE with target_version attribute in
remove_unreachable_nodes, at ipa.cc:582 since r16-4182
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: mjires at gcc dot gnu.org
CC: alfierichards at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
Compiling reduced testcase gcc.target/aarch64/mv-symbols3.c results in ICE.
Bisection points to r16-4182-g73888cefe6da65, which also introduced this
testcase.
$ cat mv-symbols3.c
__attribute__ ((target_version ("default"))) int foo ();
int bar () { return foo (); }
$ aarch64-linux-gnu-gcc mv-symbols3.c -O3
during IPA pass: remove_symbols
mv-symbols3.c:3:1: internal compiler error: in remove_unreachable_nodes, at
ipa.cc:582
3 | int bar () { return foo (); }
| ^~~
0x259f7a5 internal_error(char const*, ...)
/home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x25aac9f fancy_abort(char const*, int, char const*)
/home/mjires/git/GCC/master/gcc/diagnostics/context.cc:1812
0xe96d8c symbol_table::remove_unreachable_nodes(_IO_FILE*)
/home/mjires/git/GCC/master/gcc/ipa.cc:582
0xfe2e6c execute_todo
/home/mjires/git/GCC/master/gcc/passes.cc:2166
/home/mjires/built/master-aarch64-linux-gnu/libexec/gcc/aarch64-linux-gnu/16.0.1/cc1
-quiet mv-symbols3.c -quiet -dumpdir a- -dumpbase mv-symbols3.c -dumpbase-ext
.c -mlittle-endian -mabi=lp64 -O3 -o /tmp/ccx7xsoY.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/mjires/built/master-aarch64-linux-gnu/libexec/gcc/aarch64-linux-gnu/16.0.1/lto-wrapper
Target: aarch64-linux-gnu
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master-aarch64-linux-gnu --target=aarch64-linux-gnu
--disable-bootstrap --enable-languages=c,c++,fortran --disable-multilib
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.0.1 20260218 (experimental) (GCC)