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)

Reply via email to