This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/83620] [8 Regression] ICE: in assign_by_spills, at lra-assigns.c:1470: unable to find a register to spill with -flive-range-shrinkage --param=max-sched-ready-insns=0
- From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Jan 2018 17:01:11 +0000
- Subject: [Bug rtl-optimization/83620] [8 Regression] ICE: in assign_by_spills, at lra-assigns.c:1470: unable to find a register to spill with -flive-range-shrinkage --param=max-sched-ready-insns=0
- Auto-submitted: auto-generated
- References: <bug-83620-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83620
--- Comment #6 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #4)
> Or, alternatively, does --param=max-sched-ready-insns=0 make sense and is it
> supportable? If not, we could just require it to be at least one.
This parameter is only to constraint quadratic behaviour of the scheduler (and
register live shrinkage based on it). If we ignore compilation time, there
should be no maximum constraint.
I believe we should have non-zero minimal value for the parameter, otherwise
scheduling (and live range shrinkage) has a little sense. IMHO, 10 would be a
reasonable as the minimal value (to take insns with different fixed regs like
ax,dx,cx).