https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81030
Bug ID: 81030 Summary: ICE on valid code at -O1 (only) on x86_64-linux-gnu: verify_flow_info failed Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- This is a recent regression. $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 8.0.0 20170609 (experimental) [trunk revision 249045] (GCC) $ $ gcc-trunk -O0 small.c $ $ gcc-trunk -O1 small.c small.c: In function ‘main’: small.c:26:1: error: verify_flow_info: REG_BR_PROB does not match cfg 3663 7327 } ^ during RTL pass: expand small.c:26:1: internal compiler error: verify_flow_info failed 0x7d9956 verify_flow_info() ../../gcc-source-trunk/gcc/cfghooks.c:259 0x1323c20 checking_verify_flow_info ../../gcc-source-trunk/gcc/cfghooks.h:198 0x1323c20 try_optimize_cfg ../../gcc-source-trunk/gcc/cfgcleanup.c:3039 0x1323c20 cleanup_cfg(int) ../../gcc-source-trunk/gcc/cfgcleanup.c:3203 0x7d6566 execute ../../gcc-source-trunk/gcc/cfgexpand.c:6485 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. $ ---------------------------------------------------------------------------- void __assert_fail (const char *, const char *, unsigned int, const char *); int a, b, c, d, e, f, h; unsigned char g; int main () { int i, *j = &b; if (a) { if (h) { int **k = &j; d = 0; *k = &e; } else for (b = 0; b > -28; b = g) ; c || !j ? : __assert_fail ("c || !j", "small.c", 20, "main"); if (f) for (i = 0; i < 1; i++) ; } return 0; }