[Bug tree-optimization/70390] [6/7 Regression] internal compiler error: in copy_loop_close_phi_args, at graphite-isl-ast-to-gimple.c:2114

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jun 5 10:36:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70390

--- Comment #5 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #2)
> Not sure if the GRAPHITE assert is necessary or merely a hint that some
> optimization didn't apply - that is, do we actually generate wrong-code
> if it triggers?
> 
> Index: gcc/graphite-isl-ast-to-gimple.c
> ===================================================================
> --- gcc/graphite-isl-ast-to-gimple.c    (revision 234449)
> +++ gcc/graphite-isl-ast-to-gimple.c    (working copy)
> @@ -2112,7 +2112,7 @@ copy_loop_close_phi_args (basic_block ol
>  
>        if (is_gimple_reg (res) && scev_analyzable_p (res, region->region))
>         /* Loop close phi nodes should not be scev_analyzable_p.  */
> -       gcc_unreachable ();
> +       /*gcc_unreachable ()*/;
>  
>        gphi *new_close_phi = create_phi_node (SSA_NAME_VAR (res), new_bb);
>        tree new_res = create_new_def_for (res, new_close_phi,
> @@ -2497,7 +2497,7 @@ copy_cond_phi_nodes (basic_block bb, bas
>         continue;
>        if (is_gimple_reg (res) && scev_analyzable_p (res, region->region))
>         /* Cond phi nodes should not be scev_analyzable_p.  */
> -       gcc_unreachable ();
> +       /*gcc_unreachable ()*/;
>  
>        gphi *new_phi = create_phi_node (SSA_NAME_VAR (res), new_bb);
>        tree new_res = create_new_def_for (res, new_phi,
> 
> "fixes" the ICE.

Instead of running into the ICE, we run into this if-stmt 13 lines below:
...
      if (!new_name)
        return false;
...

And code-generation is aborted:
...
[codegen] Adding loop close phi: e_lsm.14_25 = PHI <_40(43)>
[codegen] setting rename: old_name = g_lsm.18_102, new_name = g_lsm.18_93
codegen error: reverting back to the original code.
...


More information about the Gcc-bugs mailing list