https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101189
Bug ID: 101189 Summary: ICE at -Os and above on x86_64-linux-gnu: in fold_cond, at vr-values.c:3471 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zhendong.su at inf dot ethz.ch Target Milestone: --- [535] % 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 20210624 (experimental) [master revision fcf617f0d2a:8f55dced666:3bd86940c428de9dde53e41265fb1435ed236f5e] (GCC) [536] % [536] % gcctk -O1 small.c; ./a.out [537] % [537] % gcctk -Os small.c during GIMPLE pass: evrp small.c: In function ‘main’: small.c:13:1: internal compiler error: in fold_cond, at vr-values.c:3471 13 | } | ^ 0x1189432 simplify_using_ranges::fold_cond(gcond*) ../../gcc-trunk/gcc/vr-values.c:3470 0x1189465 simplify_using_ranges::simplify_cond_using_ranges_1(gcond*) ../../gcc-trunk/gcc/vr-values.c:3513 0x119194f simplify_using_ranges::simplify(gimple_stmt_iterator*) ../../gcc-trunk/gcc/vr-values.c:4229 0x184ffb8 hybrid_folder::fold_stmt(gimple_stmt_iterator*) ../../gcc-trunk/gcc/gimple-ssa-evrp.c:527 0xfa5116 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*) ../../gcc-trunk/gcc/tree-ssa-propagate.c:870 0x1808717 dom_walker::walk(basic_block_def*) ../../gcc-trunk/gcc/domwalk.c:309 0xfa42d5 substitute_and_fold_engine::substitute_and_fold(basic_block_def*) ../../gcc-trunk/gcc/tree-ssa-propagate.c:987 0x184f0ef execute_early_vrp ../../gcc-trunk/gcc/gimple-ssa-evrp.c:690 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. [538] % [538] % cat small.c static int a, b; int main() { int d = 0, e, f = 5; if (a) f = 0; for (; f < 4; f++) ; e = f ^ -f; e && d; if (!e) e || b; return 0; }