[Bug target/86547] s390x: Maximum number of LRA assignment passes is achieved (30) when compiling a small inline assembler snippet
krebbel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 30 08:35:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86547
--- Comment #7 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
Author: krebbel
Date: Mon Jul 30 08:30:06 2018
New Revision: 263063
URL: https://gcc.gnu.org/viewcvs?rev=263063&root=gcc&view=rev
Log:
lra: consider clobbers when selecting hard_regno to spill
The idea behind the rclass loop in spill_hard_reg_in_range() seems to
be: find a hard_regno, which in general conflicts with reload regno,
but does not do so between `from` and `to`, and then do the live range
splitting based on this information. To check the absence of conflicts,
we make use of insn_bitmap, which does not contain insns which clobber
the hard_regno.
gcc/ChangeLog:
2018-07-30 Ilya Leoshkevich <iii@linux.ibm.com>
PR target/86547
* lra-constraints.c (spill_hard_reg_in_range): When selecting the
hard_regno, make sure no insn between `from` and `to` clobbers it.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra-constraints.c
More information about the Gcc-bugs
mailing list