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.

Reply via email to