http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60268

Andrey Belevantsev <abel at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |abel at gcc dot gnu.org

--- Comment #3 from Andrey Belevantsev <abel at gcc dot gnu.org> ---
I'm out of office today, so I'll have a look properly tomorrow, but...

(In reply to Jakub Jelinek from comment #2)
> So perhaps:
> --- gcc/haifa-sched.c 2014-02-18 08:18:53.045024428 +0100
> +++ gcc/haifa-sched.c 2014-02-19 07:58:38.191381581 +0100
> @@ -2550,7 +2550,7 @@ rank_for_schedule (const void *x, const
>       return INSN_LUID (tmp) - INSN_LUID (tmp2);
>      }
>  
> -  if (live_range_shrinkage_p)
> +  if (live_range_shrinkage_p && sched_pressure != SCHED_PRESSURE_NONE)
>      {
>        /* Don't use SCHED_PRESSURE_MODEL -- it results in much worse
>        code.  */

...  the fired assert below this code means that we have turned off
sched-pressure on the new region (unexpectedly to live_range_shrinkage) and I'd
like to know how this region was added.  I guess I missed some entry point
within the new scheduler code when fixing the previous PR.

> 
> BTW, why
>       if (sched_pressure != SCHED_PRESSURE_NONE)
>         free_global_sched_pressure_data ();
> when free_global_sched_pressure_data () contains the same guard and thus
> could be called unconditionally?

Pilot error while being over cautious, I will simplify that too.

Reply via email to