https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84205
Bug ID: 84205 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-alpha20180204 snapshot (r257367) ICEs when compiling the following snippet w/ -O1 (-O2, -O3, -Ofast) -floop-nest-optimize -ftree-pre -fno-tree-loop-im for 32-bit targets: long long unsigned int od; int zj, fk, ea; void ke (void) { if (od != 0 && zj != 0) { for (fk = 0; fk < 2; ++fk) { } if (od == (long long unsigned int) zj) zj = 0; for (ea = 0; ea < 2; ++ea) { } } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180204 -O1 -floop-nest-optimize -ftree-pre -fno-tree-loop-im -c pqp2ihnp.c during GIMPLE pass: graphite pqp2ihnp.c: In function 'ke': pqp2ihnp.c:5:1: internal compiler error: in set_codegen_error, at graphite-isl-ast-to-gimple.c:206 ke (void) ^~ 0x5836ba translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:205 0x13fc5e5 translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:311 0x13fc5e5 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:308 0x13fc7e7 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:339 0x13fc7ad 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:322 0x13fd3b3 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:872 0x1400035 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:891 0x13fff65 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_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:858 0x140044c graphite_regenerate_ast_isl(scop*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite-isl-ast-to-gimple.c:1504 0x13fa66d graphite_transform_loops() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite.c:413 0x13fbbef graphite_transforms /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite.c:475 0x13fbbef execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/graphite.c:552