https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80167
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-03-24 Target Milestone|--- |6.4 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. #1 0x000000000191d29c in translate_isl_ast_to_gimple::is_valid_rename ( this=0x7fffffffd8c0, rename=<ssa_name 0x7ffff69f3240>, def_bb=<basic_block 0x0>, use_bb=<basic_block 0x7ffff6a00d00 (34)>, phi_kind=unknown_phi, old_name=<ssa_name 0x7ffff68adaf8>, old_bb=<basic_block 0x7ffff68aec98 (6)>) at /space/rguenther/src/svn/gcc-7-branch/gcc/graphite-isl-ast-to-gimple.c:1139 1139 if (dominated_by_p (CDI_DOMINATORS, use_bb, def_bb)) def_bb is NULL because 'rename' is a default-def. The rename looks odd to me, renaming _7 to i_25(D)? We register that from #0 translate_isl_ast_to_gimple::set_rename (this=0x7fffffffd8c0, old_name=<ssa_name 0x7ffff68adaf8>, expr=<ssa_name 0x7ffff69f3240>) at /space/rguenther/src/svn/gcc-7-branch/gcc/graphite-isl-ast-to-gimple.c:1259 #1 0x000000000191f2b3 in translate_isl_ast_to_gimple::rename_uses ( this=0x7fffffffd8c0, copy=<gimple_assign 0x7ffff6a070a0>, gsi_tgt=0x7fffffffd390, old_bb=<basic_block 0x7ffff68aec98 (6)>, loop=0x7ffff69ee210, iv_map=...) at /space/rguenther/src/svn/gcc-7-branch/gcc/graphite-isl-ast-to-gimple.c:1733 #2 0x00000000019215cd in translate_isl_ast_to_gimple::graphite_copy_stmts_from_block (this=0x7fffffffd8c0, bb=<basic_block 0x7ffff68aec98 (6)>, new_bb=<basic_block 0x7ffff6a00d00 (34)>, iv_map=...) at /space/rguenther/src/svn/gcc-7-branch/gcc/graphite-isl-ast-to-gimple.c:2572 #3 0x0000000001921d9b in translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences (this=0x7fffffffd8c0, bb=<basic_block 0x7ffff68aec98 (6)>, next_e=<edge 0x7ffff68af9a0 (30 -> 34)>, iv_map=...) at /space/rguenther/src/svn/gcc-7-branch/gcc/graphite-isl-ast-to-gimple.c:2785 #4 0x000000000191ca30 in translate_isl_ast_to_gimple::translate_isl_ast_node_user (this=0x7fffffffd8c0, node=0x2a13da0, hmm, might be still correct in this case. Fix: Index: gcc/graphite-isl-ast-to-gimple.c =================================================================== --- gcc/graphite-isl-ast-to-gimple.c (revision 246437) +++ gcc/graphite-isl-ast-to-gimple.c (working copy) @@ -1123,6 +1123,9 @@ bool translate_isl_ast_to_gimple:: is_valid_rename (tree rename, basic_block def_bb, basic_block use_bb, phi_node_kind phi_kind, tree old_name, basic_block old_bb) const { + if (SSA_NAME_IS_DEFAULT_DEF (rename)) + return true; + /* The def of the rename must either dominate the uses or come from a back-edge. Also the def must respect the loop closed ssa form. */ if (!is_loop_closed_ssa_use (use_bb, rename)) @@ -1178,6 +1181,7 @@ get_rename (basic_block new_bb, tree old basic_block bb = gimple_bb (SSA_NAME_DEF_STMT (rename)); if (is_valid_rename (rename, bb, new_bb, phi_kind, old_name, old_bb) && (phi_kind == close_phi + || ! bb || flow_bb_inside_loop_p (bb->loop_father, new_bb))) return rename; return NULL_TREE;