GCC trunk at r237026 ICEs on the testcase: int *a; int b, c, d, e, g; char f; void fn1() { for (; c;) { b = 0; for (; b <= 2; b++) { unsigned **h = (unsigned **) &a[b]; *h = (g && (e = d)) != f++; } } } on aarch64 with -Ofast -floop-interchange. mycrash.c: In function 'fn1': mycrash.c:10:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion] *h = (g && (e = d)) != f++; ^ mycrash.c:5:6: internal compiler error: in copy_cond_phi_nodes, at graphite-isl-ast-to-gimple.c:2498 void fn1() { ^~~ 0x10a45c5 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:2498 0x10a5030 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:2787 0x10a57ed 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:936 0x10a599d 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:1040 0x10a5eb4 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:965 0x10a59b3 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:1044 0x10a60d6 translate_isl_ast_to_gimple::translate_isl_ast_node_if(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:1004 0x10a598a 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:1037 0x10a5eb4 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:965 0x10a59b3 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:1044 0x10a6467 graphite_regenerate_ast_isl(scop*) $SRC/gcc/graphite-isl-ast-to-gimple.c:3184 0x109db70 graphite_transform_loops() $SRC/gcc/graphite.c:329 0x109dcd4 graphite_transforms $SRC/gcc/graphite.c:356 0x109dcd4 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. This doesn't occur on the GCC 6 branch for me
Confirmed on a cross build. Started with: commit 410372fef14173261ce8e547db98eafb3174921f Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu May 19 07:39:52 2016 +0000 2016-05-19 Richard Biener <rguenther@suse.de> PR tree-optimization/70729 * passes.def: Move LIM pass before PRE. Remove no longer required copyprop and move first DCE out of the loop pipeline. * gcc.dg/autopar/outer-6.c: Adjust to avoid redundant store. * gcc.dg/graphite/scop-18.c: Likewise. * gcc.dg/pr41783.c: Disable LIM. * gcc.dg/tree-ssa/loadpre10.c: Likewise. * gcc.dg/tree-ssa/loadpre23.c: Likewise. * gcc.dg/tree-ssa/loadpre24.c: Likewise. * gcc.dg/tree-ssa/loadpre25.c: Likewise. * gcc.dg/tree-ssa/loadpre4.c: Likewise. * gcc.dg/tree-ssa/loadpre8.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-16.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-18.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-20.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise. * gfortran.dg/pr42108.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236440 138bc75d-0d04-0410-961f-82ee72b054a4
Duplicate of PR71575, same fix works. *** This bug has been marked as a duplicate of bug 71575 ***