http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59164
Bug ID: 59164 Summary: ice: tree check: expected tree that contains ‘decl minimal’ structure, have ‘integer_cst’ in get_var_info, at tree-into-ssa.c:380 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: regehr at cs dot utah.edu CC: chenyang at cs dot utah.edu regehr@regehr-M51AC:~/z/reduce/r104$ gcc -O3 small.c -c small.c: In function ‘fn2’: small.c:9:6: internal compiler error: tree check: expected tree that contains ‘decl minimal’ structure, have ‘integer_cst’ in get_var_info, at tree-into-ssa.c:380 void fn2(void) { ^ 0xbec8e4 tree_contains_struct_check_failed(tree_node const*, tree_node_structure_enum, char const*, int, char const*) /home/regehr/z/compiler-source/gcc/gcc/tree.c:9340 0x54ddf7 contains_struct_check /home/regehr/z/compiler-source/gcc/gcc/tree.h:2820 0x54ddf7 get_var_info /home/regehr/z/compiler-source/gcc/gcc/tree-into-ssa.c:380 0xa4761e get_var_info /home/regehr/z/compiler-source/gcc/gcc/hash-table.h:825 0xa4761e get_common_info /home/regehr/z/compiler-source/gcc/gcc/tree-into-ssa.c:413 0xa4761e get_current_def(tree_node*) /home/regehr/z/compiler-source/gcc/gcc/tree-into-ssa.c:422 0xbbea64 slpeel_update_phi_nodes_for_guard1 /home/regehr/z/compiler-source/gcc/gcc/tree-vect-loop-manip.c:474 0xbbea64 slpeel_tree_peel_loop_to_edge /home/regehr/z/compiler-source/gcc/gcc/tree-vect-loop-manip.c:1307 0xbc09ed vect_do_peeling_for_loop_bound(_loop_vec_info*, tree_node**, unsigned int, bool) /home/regehr/z/compiler-source/gcc/gcc/tree-vect-loop-manip.c:1798 0xbb0437 vect_transform_loop(_loop_vec_info*) /home/regehr/z/compiler-source/gcc/gcc/tree-vect-loop.c:5662 0xbcd2cf vectorize_loops() /home/regehr/z/compiler-source/gcc/gcc/tree-vectorizer.c:375 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. regehr@regehr-M51AC:~/z/reduce/r104$ cat small.c int a, d, e; long b[10]; int c[10][8]; int fn1(p1) { return 1 >> p1; } void fn2(void) { int f; for (a=1; a <= 4; a++) { f = fn1(0 < c[a][0]); if (f || d) e = b[a] = 1; } } regehr@regehr-M51AC:~/z/reduce/r104$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r204924-install/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/regehr/z/compiler-source/gcc/configure --prefix=/home/regehr/z/compiler-install/gcc-r204924-install --enable-languages=c,c++ --enable-multilib Thread model: posix gcc version 4.9.0 20131117 (experimental) (GCC)