https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87640
Zhendong Su <su at cs dot ucdavis.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |su at cs dot ucdavis.edu --- Comment #3 from Zhendong Su <su at cs dot ucdavis.edu> --- Here is a small reproducer: $ gcctk -Os small.c during GIMPLE pass: evrp small.c: In function ‘main’: small.c:9:1: internal compiler error: in check, at tree-vrp.c:155 9 | } | ^ 0xf400ef value_range::check() ../../gcc-source-trunk/gcc/tree-vrp.c:155 0xf45800 value_range::value_range(value_range_kind, tree_node*, tree_node*, bitmap_head*) ../../gcc-source-trunk/gcc/tree-vrp.c:110 0xf45800 set_value_range_with_overflow ../../gcc-source-trunk/gcc/tree-vrp.c:1422 0xf45800 extract_range_from_binary_expr_1(value_range*, tree_code, tree_node*, value_range const*, value_range const*) ../../gcc-source-trunk/gcc/tree-vrp.c:1680 0xfcafcd vr_values::extract_range_from_binary_expr(value_range*, tree_code, tree_node*, tree_node*, tree_node*) ../../gcc-source-trunk/gcc/vr-values.c:734 0xfcd794 vr_values::extract_range_from_assignment(value_range*, gassign*) ../../gcc-source-trunk/gcc/vr-values.c:1392 0x14a5679 evrp_range_analyzer::record_ranges_from_stmt(gimple*, bool) ../../gcc-source-trunk/gcc/gimple-ssa-evrp-analyze.c:285 0x14a33b8 evrp_dom_walker::before_dom_children(basic_block_def*) ../../gcc-source-trunk/gcc/gimple-ssa-evrp.c:139 0x147f92a dom_walker::walk(basic_block_def*) ../../gcc-source-trunk/gcc/domwalk.c:353 0x14a3e31 execute_early_vrp ../../gcc-source-trunk/gcc/gimple-ssa-evrp.c:311 0x14a3e31 execute ../../gcc-source-trunk/gcc/gimple-ssa-evrp.c:348 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. $ $ cat small.c int main () { unsigned b = 0; int c, d = -8; for (; b < 2; b++) for (c = 1; c; c--) d++; return 0; } $