On 12/6/2013, 8:44 AM, David Edelsohn wrote:
On Thu, Dec 5, 2013 at 12:40 PM, Vladimir Makarov <vmaka...@redhat.com> wrote:
The following patch fixes two GCC testsuite failures for LRA.  The patch
makes swap through registers instead of memory for the test cases when LRA
is used.

There are differences in reload and LRA constraint matching algorithm which
results in different alternative choices when the original pattern is used.

Actually my first proposed solution variant used one pattern which is now
for LRA in this patch.  But some doubt arose that it may affect reload pass
in some bad way.

Ok to commit?

I understand that LRA requires different tuning than reload, but I
continue to be a little uncomfortable with different patterns for LRA
and reload.

I would like to head some additional opinions.



Ok. I guess there is only one option to use one pattern for LRA and reload without ?? in register alternative. In this case, reload and LRA will actually work according to GCC documentation (LRA treats ? cost as the cost of one reload, reload does the same but not in this case).

  That was my first solution but you were not comfortable with this too.

Changing LRA most sensitive code to behave (wrongly in this case) as reload is not an option for me.

  So I don't know what to do anymore to fix this 2 failures.



Reply via email to