[Bug tree-optimization/107937] [13 Regression] ICE in find_var_cmp_const, at gimple-predicate-analysis.cc:257 since r13-4408-gb628cad9e093f7a3

zhendong.su at inf dot ethz.ch gcc-bugzilla@gcc.gnu.org
Thu Dec 1 08:38:42 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107937

Zhendong Su <zhendong.su at inf dot ethz.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zhendong.su at inf dot ethz.ch

--- Comment #8 from Zhendong Su <zhendong.su at inf dot ethz.ch> ---
Another test:

[546] % gcctk -O3 -Wall -w small.c
during GIMPLE pass: uninit
small.c: In function ‘main’:
small.c:3:5: internal compiler error: in find_var_cmp_const, at
gimple-predicate-analysis.cc:257
    3 | int main() {
      |     ^~~~
0x818725 find_var_cmp_const
        ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:257
0x1c9bfbf uninit_analysis::overlap(gphi*, unsigned int, hash_set<gphi*, false,
default_hash_traits<gphi*> >*, predicate const&)
        ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:648
0x1c9bafa uninit_analysis::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:2215
0x1c9c0ec uninit_analysis::is_use_guarded(gimple*, basic_block_def*, gphi*,
unsigned int)
        ../../gcc-trunk/gcc/gimple-predicate-analysis.cc:2249
0x110d500 find_uninit_use
        ../../gcc-trunk/gcc/tree-ssa-uninit.cc:1234
0x110de96 warn_uninitialized_phi
        ../../gcc-trunk/gcc/tree-ssa-uninit.cc:1304
0x110de96 execute_late_warn_uninitialized
        ../../gcc-trunk/gcc/tree-ssa-uninit.cc:1425
0x110de96 execute
        ../../gcc-trunk/gcc/tree-ssa-uninit.cc:1442
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.
[547] % cat small.c
int printf(const char *, ...);
int a, b;
int main() {
  int c, d;
  while (b) {
    if (a) {
      &d;
      c = ~c;
    }
    printf("0");
    while (b && d && c)
      ;
  }
  return 0;
}


More information about the Gcc-bugs mailing list