https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84353
Bug ID: 84353 Summary: [8 Regression] [graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206 Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu*, powerpcspe-*-linux-gnu*, i?86-*-* gcc-8.0.0-alpha20180211 snapshot (r257571) ICEs when compiling the following snippet w/ -O1 -floop-parallelize-all -fno-tree-loop-im: long long unsigned int zq; int aj, kh, j9; void he (int qi) { for (;;) { if (zq != 0 && aj != 0) { for (kh = 0; kh < 2; ++kh) { } if (zq != (long long unsigned int) qi) qi = j9; while (aj != 0) ++aj; } while (aj < 1) { } } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180211 -O1 -floop-parallelize-all -fno-tree-loop-im -c hwtdekhq.c during GIMPLE pass: graphite hwtdekhq.c: In function 'he': hwtdekhq.c:5:1: internal compiler error: in set_codegen_error, at graphite-isl-ast-to-gimple.c:206 he (int qi) ^~ 0x58c8a2 translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:205 0x140f095 translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:311 0x140f095 translate_isl_ast_to_gimple::gcc_expression_from_isl_expr_int(tree_node*, isl_ast_expr*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:308 0x140f29a translate_isl_ast_to_gimple::binary_op_to_tree(tree_node*, isl_ast_expr*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:340 0x140f29a translate_isl_ast_to_gimple::binary_op_to_tree(tree_node*, isl_ast_expr*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:340 0x140fe73 translate_isl_ast_to_gimple::graphite_create_new_guard(edge_def*, isl_ast_expr*, std::map<isl_id*, tree_node*, std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*> > >&) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:873 0x1412af5 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*> > >&) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:892 0x1412a25 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*> > >&) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:859 0x1412f0c graphite_regenerate_ast_isl(scop*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite-isl-ast-to-gimple.c:1505 0x140d11d graphite_transform_loops() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite.c:413 0x140e69f graphite_transforms /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite.c:475 0x140e69f execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180211/work/gcc-8-20180211/gcc/graphite.c:552