[Bug rtl-optimization/92796] [10 Regression] ICE in lra_assign, at lra-assigns.c:1646 on powerpc64le-linux-gnu
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 9 21:08:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92796
--- Comment #7 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #6)
>
> Vlad (or Jeff), can you point me to where this is supposed to be handled?
> I don't think I see where LRA verifies the reg_renumber[regno] values are
> still
> valid with respect to the new pattern constraints for the insns that are
> modified by spilling.
>
> lra_reg_info[133].conflict_hard_regs does contain 66, so LRA knows it
> conflicts
> with reg 66, but it never seems to use that information as a sign that pseudo
> 133 needs reassigning.
A very interesting case, Peter. I reproduced the case too. I can take it from
here if you don't mind. The solution I see for this problem is to check that
if we change operand constraint from IN to INOUT when we change insn
alternative then we reconsider all conflicts for pseudos already assigned to
hard registers.
More information about the Gcc-bugs
mailing list