https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124454
Bug ID: 124454
Summary: [14/15/16 Regression] during RTL pass: sched2 ICE: in
operator[], at vec.h:911 with custom flags
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: zsojka at seznam dot cz
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: aarch64-unknown-linux-gnu
Created attachment 63896
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63896&action=edit
reduced testcase
This needs many custom flags, but maybe it might be useful. Or INVALID.
Compiler output:
$ aarch64-unknown-linux-gnu-gcc -O3 -fno-forward-propagate
-fnon-call-exceptions -fno-dse -fprofile-generate -fopenmp
-finstrument-functions -mno-outline-atomics testcase.c
during RTL pass: sched2
testcase.c: In function 'foo':
testcase.c:9:1: internal compiler error: in operator[], at vec.h:911
9 | }
| ^
0x289096d internal_error(char const*, ...)
/repo/gcc-trunk/gcc/diagnostic-global-context.cc:787
0xc9cb8d fancy_abort(char const*, int, char const*)
/repo/gcc-trunk/gcc/diagnostics/context.cc:1813
0x831840 vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
/repo/gcc-trunk/gcc/vec.h:911
0x831aad vec<basic_block_def*, va_gc, vl_embed>::operator[](unsigned int)
/repo/gcc-trunk/gcc/vec.h:945
0x831aad pre_and_rev_post_order_compute_fn(function*, int*, int*, bool)
/repo/gcc-trunk/gcc/cfganal.cc:1066
0xe74317 pre_and_rev_post_order_compute(int*, int*, bool)
/repo/gcc-trunk/gcc/cfganal.cc:1079
0xe33372 init_alias_analysis()
/repo/gcc-trunk/gcc/alias.cc:3410
0x260c7b0 sched_init()
/repo/gcc-trunk/gcc/haifa-sched.cc:7362
0x260e1ec haifa_sched_init()
/repo/gcc-trunk/gcc/haifa-sched.cc:7399
0x1456eaa schedule_insns()
/repo/gcc-trunk/gcc/sched-rgn.cc:3532
0x14575ed schedule_insns()
/repo/gcc-trunk/gcc/sched-rgn.cc:3526
0x14575ed rest_of_handle_sched2
/repo/gcc-trunk/gcc/sched-rgn.cc:3764
0x14575ed execute
/repo/gcc-trunk/gcc/sched-rgn.cc:3903
/repo/gcc-trunk/binary-trunk-20260311155324-r16-8008-gb2afa2c2f6e295-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/16.0.1/cc1
-quiet -iprefix
/repo/gcc-trunk/binary-trunk-20260311155324-r16-8008-gb2afa2c2f6e295-checking-yes-rtl-df-extra-aarch64/bin/../lib/gcc/aarch64-unknown-linux-gnu/16.0.1/
-D_REENTRANT testcase.c -quiet -dumpdir a- -dumpbase testcase.c -dumpbase-ext
.c -mno-outline-atomics -mlittle-endian -mabi=lp64 -O3 -fno-forward-propagate
-fnon-call-exceptions -fno-dse -fprofile-generate -fopenmp
-finstrument-functions -fprofile-update=prefer-atomic -o /tmp/cc1YPeJ1.s
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.
$ aarch64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-aarch64/bin/aarch64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-20260311155324-r16-8008-gb2afa2c2f6e295-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/16.0.1/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--enable-libsanitizer --with-sysroot=/usr/aarch64-unknown-linux-gnu
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=aarch64-unknown-linux-gnu
--with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld
--with-as=/usr/bin/aarch64-unknown-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-20260311155324-r16-8008-gb2afa2c2f6e295-checking-yes-rtl-df-extra-aarch64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.0.1 20260311 (experimental) (GCC)