https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70137
Bug ID: 70137 Summary: internal compiler error: in add_phi_arg_for_new_expr, at graphite-isl-ast-to-gimple.c:2331 Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org CC: spop at gcc dot gnu.org Target Milestone: --- The following testcase ICEs for my on aarch64 with ISL 0.15 with -Ofast -floop-interchange: int a, b, c, e, f, g; int d[6]; void fn1 () { long h; char i; for (; g; g++) { c = 0; for (; c <= 5; c++) { char *j = (char *)&e; short *k = (short *)&f; i = a + g; h = i ?: b % i; *j = h; *k ^= d[c]; } } } mycrash.c: In function 'fn1': mycrash.c:4:1: internal compiler error: in add_phi_arg_for_new_expr, at graphite-isl-ast-to-gimple.c:2331 fn1 () ^~~ 0x105f862 translate_isl_ast_to_gimple::add_phi_arg_for_new_expr(tree_node**, tree_node**, edge_def*, edge_def*, gphi*, gphi*, basic_block_def*) $SRC/gcc/graphite-isl-ast-to-gimple.c:2331 0x1060007 translate_isl_ast_to_gimple::copy_cond_phi_args(gphi*, gphi*, vec<tree_node*, va_heap, vl_ptr>, bool) $SRC/gcc/graphite-isl-ast-to-gimple.c:2470 0x10623d1 translate_isl_ast_to_gimple::copy_cond_phi_nodes(basic_block_def*, basic_block_def*, vec<tree_node*, va_heap, vl_ptr>) $SRC/gcc/graphite-isl-ast-to-gimple.c:2506 0x1062d9e translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences(basic_block_def*, edge_def*, vec<tree_node*, va_heap, vl_ptr>) $SRC/gcc/graphite-isl-ast-to-gimple.c:2788 0x106355b translate_isl_ast_to_gimple::translate_isl_ast_node_user(isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:935 0x106370b translate_isl_ast_to_gimple::translate_isl_ast(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:1039 0x1063c22 translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:964 0x1063721 translate_isl_ast_to_gimple::translate_isl_ast(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:1043 0x1063839 translate_isl_ast_to_gimple::translate_isl_ast_for_loop(loop*, isl_ast_node*, edge_def*, tree_node*, tree_node*, tree_node*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:685 0x1063b81 translate_isl_ast_to_gimple::translate_isl_ast_node_for(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:854 0x10636df translate_isl_ast_to_gimple::translate_isl_ast(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:1032 0x1063c22 translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:964 0x1063721 translate_isl_ast_to_gimple::translate_isl_ast(loop*, isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) $SRC/gcc/graphite-isl-ast-to-gimple.c:1043 0x10641c2 graphite_regenerate_ast_isl(scop*) $SRC/gcc/graphite-isl-ast-to-gimple.c:3185 0x105b870 graphite_transform_loops() $SRC/gcc/graphite.c:329 0x105b9d0 graphite_transforms $SRC/gcc/graphite.c:356 0x105b9d0 execute $SRC/gcc/graphite.c:433 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.