https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82819
Bug ID: 82819 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* gcc-8.0.0-alpha20171029 snapshot (r254205) ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast) -floop-nest-optimize for 32-bit BE powerpc target: short int *ts; void c2 (unsigned long long int s4, int ns) { short int *b2 = (short int *)&ns; while (ns != 0) { int xn; for (xn = 0; xn < 3; ++xn) for (*b2 = 0; *b2 < 2; ++*b2) s4 += xn; if (s4 != 0) b2 = ts; ++ns; } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20171029 -O2 -floop-nest-optimize -c culmj2ad.c during GIMPLE pass: graphite culmj2ad.c: In function 'c2': culmj2ad.c:4:1: internal compiler error: in set_codegen_error, at graphite-isl-ast-to-gimple.c:206 c2 (unsigned long long int s4, int ns) ^~ 0x5bb486 translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:205 0x13c02b5 translate_isl_ast_to_gimple::set_codegen_error() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:311 0x13c02b5 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:308 0x13c04b4 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:338 0x13c04b4 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:338 0x13c047e 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:322 0x13c1123 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:845 0x13c3c95 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:864 0x13c3bc5 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_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:831 0x13c40af graphite_regenerate_ast_isl(scop*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite-isl-ast-to-gimple.c:1474 0x13be11d graphite_transform_loops() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite.c:384 0x13bf8af graphite_transforms /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite.c:447 0x13bf8af execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/graphite.c:524 I doubt it's target-specific, though.