[Bug rtl-optimization/60268] [4.9 regression] ICE: in rank_for_schedule, at haifa-sched.c:2557
abel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 19 09:31:00 GMT 2014
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.
More information about the Gcc-bugs
mailing list