https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102403
Zhendong Su <zhendong.su at inf dot ethz.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zhendong.su at inf dot ethz.ch --- Comment #2 from Zhendong Su <zhendong.su at inf dot ethz.ch> --- Another repro: [603] % gcctk -v Using built-in specs. COLLECT_GCC=gcctk COLLECT_LTO_WRAPPER=/local/suz-local/software/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-trunk/configure --disable-bootstrap --prefix=/local/suz-local/software/local/gcc-trunk --enable-languages=c,c++ --disable-werror --enable-multilib --with-system-zlib Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210919 (experimental) [master r12-3660-ge9e46864cd0] (GCC) [604] % [604] % gcctk -O2 small.c [605] % [605] % gcctk -O2 -Wall -Wextra small.c during GIMPLE pass: uninit small.c: In function ‘main’: small.c:6:5: internal compiler error: in init_from_control_deps, at gimple-predicate-analysis.cc:2364 6 | int main() { | ^~~~ 0x1a93e03 predicate::init_from_control_deps(vec<edge_def*, va_heap, vl_ptr> const*, unsigned int) ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:2364 0x1a954ff predicate::init_from_phi_def(gphi*) ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:1829 0x1a989b4 predicate::is_use_guarded(gimple*, basic_block_def*, gphi*, unsigned int, hash_set<gphi*, false, default_hash_traits<gphi*> >*) ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:1874 0x1a99064 predicate::is_use_guarded(gimple*, basic_block_def*, gphi*, unsigned int) ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:1933 0x103df8f find_uninit_use ../../gcc-trunk/gcc/tree-ssa-uninit.c:1092 0x103df8f warn_uninitialized_phi ../../gcc-trunk/gcc/tree-ssa-uninit.c:1150 0x103df8f execute_late_warn_uninitialized ../../gcc-trunk/gcc/tree-ssa-uninit.c:1275 0x103df8f execute ../../gcc-trunk/gcc/tree-ssa-uninit.c:1288 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. [606] % [606] % cat small.c int printf(const char *, ...); int a[1], b, c, d, e, h; static int f; long g; void i() { b = 1 ^ a[b ^ (c & 1)]; } int main() { int j; if (!f && ~h) { if (g) goto L2; } else { int m = 0; L1: e = m; L2: m ^= 1; if (d) printf("0"); for (j = 0; j < 10; j++) i(); goto L1; } return 0; }