https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70390
Bug ID: 70390 Summary: [6 Regression] internal compiler error: in copy_loop_close_phi_args, at graphite-isl-ast-to-gimple.c:2114 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 Target Milestone: --- Target: aarch64 The testcase: int a, c; int *b; short d, f; static int e; long g; void fn1 () { a = 4; for (; a >= 0; a--) ; for (; c;) for (; f <= 4; f++) { g &= a; d = 0; for (; d <= 4; d++) e |= b[d]; } } ICEs for me on aarch64 with -O3 -floop-interchange (-O2 doesn't crash) mycrash.c: In function 'fn1': mycrash.c:7:1: internal compiler error: in copy_loop_close_phi_args, at graphite-isl-ast-to-gimple.c:2114 fn1 () ^~~ 0x108da77 translate_isl_ast_to_gimple::copy_loop_close_phi_args(basic_block_def*, basic_block_def*, bool) $SRC/gcc/graphite-isl-ast-to-gimple.c:2114 0x108def3 translate_isl_ast_to_gimple::copy_loop_close_phi_nodes(basic_block_def*, basic_block_def*) $SRC/gcc/graphite-isl-ast-to-gimple.c:2183 0x108ead5 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:2715 0x108f608 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 0x108f78f 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 0x108fce0 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 0x108f7a5 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 0x10902cc graphite_regenerate_ast_isl(scop*) $SRC/gcc/graphite-isl-ast-to-gimple.c:3185 0x1086f15 graphite_transform_loops() $SRC/gcc/graphite.c:329 0x10870ac graphite_transforms $SRC/gcc/graphite.c:356 0x10870ac 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.