On 2019-11-20 5:06 a.m., Richard Biener wrote:
On Tue, Nov 19, 2019 at 5:07 PM Vladimir Makarov <vmaka...@redhat.com> wrote:
The following patch fixes

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90007

Sometime ago a code which permits LRA to reload hard register into
memory as it did for pseudo were added.  But this LRA possibility was
not reflected in recog.c.  The following patch fixes this discrepancy
and as a result fixes PR90007.

OK to commit?
I guess the change is OK but for the bug itself it sounds like
selective scheduling doesn't properly recognize insns it
proagates into (and avoids doing that then)?  That is,
selective scheduling creates invalid RTL?

It is hard for me to say what should be enough for new insn validation in any scheduler code.  I think recog code would be a safe choice as it is already used in DFA.

On the other hand using non-recog code for insn validation helped to find the code discrepancy between recog and LRA.

In any case I believe that the patch should be committed anyway and it fixes the problem.


Reply via email to