public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ramana Radhakrishnan <ramana.gcc@googlemail.com>
To: Yvan Roux <yvan.roux@linaro.org>
Cc: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
		Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>,
	Richard Earnshaw <Richard.Earnshaw@arm.com>,
		Vladimir Makarov <vmakarov@redhat.com>
Subject: Re: [PATCH, ARM, PR64208] LRA ICE Fix
Date: Wed, 06 May 2015 09:50:00 -0000	[thread overview]
Message-ID: <CAJA7tRYxLj6bTo76xyoyC7Vc-oN-fQRfR5ziiUMeTy7unuEAPA@mail.gmail.com> (raw)
In-Reply-To: <CAD57uCcd=7jiqVHVokGSOvSgT94njASHRV410CAqxVA6uiogZw@mail.gmail.com>

On Thu, Apr 30, 2015 at 6:49 PM, Yvan Roux <yvan.roux@linaro.org> wrote:
> Hi,
>
> On 23 March 2015 at 18:47, Yvan Roux <yvan.roux@linaro.org> wrote:
>> Hi,
>>
>> On 23 March 2015 at 17:08, Ramana Radhakrishnan
>> <ramana.gcc@googlemail.com> wrote:
>>> On Wed, Mar 18, 2015 at 10:19 AM, Yvan Roux <yvan.roux@linaro.org> wrote:
>>>> Hi,
>>>>
>>>> This is a fix for PR64208 where LRA loops when dealing with
>>>> iwmmxt_arm_movdi insn.  As explain in the PR, the issue was introduced
>>>> on trunk and 4.9 branch by fix of PR rtl-optimization/60969 and then
>>>> workaround by r211798 (-fuse-caller-save enable for ARM).
>>>>
>>>> The changes in IRA cost made by PR60969, changed the register class of
>>>> this insn output from GENERAL_REGS to IWMMXT_REGS, and the
>>>> redundancies in the insn pattern alternatives description force LRA to
>>>> reload the pseudo, which generates the same iwmmxt_arm_movdi insn,
>>>> which can't be resolved, and so on ...
>>>>
>>>> Removing the redundancies fixes the issue, as LRA find that
>>>> alternative 8 (Uy => y) matches.
>>>>
>>>> This issue is present in 4.9 branch, but latent on trunk (the
>>>> clobbering of IP and CC information added during -fuse-caller-save
>>>> patch changed the register allocation).
>>>>
>>>> Cross compiled and regression tested on ARM targets (but not on an
>>>> IWMMXT one), is it ok for trunk and 4.9 branch ?
>>>
>>>
>>> This looks sane. It doesn't look reasonable for alternatives to be
>>> duplicating each other.
>>>
>>> Given I have neither the time nor the hardware to test this patch on,
>>> I'd rather someone with an interest in iwMMX possibly folks from
>>> Marvell can pick up testing for this patch.
>>
>> Ok, Thanks Ramana, I'll wait for somebody able to test it. Notice,
>> that without this patch on the 4.9 branch, building a cross compiler
>> which default to iWMMXT architectures ICE on that during LRA while
>> building of libgcc.
>
> I got an access to a cubox with an armada 510 and finally managed to
> validate this patch (~ 1week for bootstrap + make check !).  So,
> bootstrap is ok and no regession.  is it Ok for trunk and branches
> (the issue was observed on 4.9) ? Notice that I've only tested it for
> trunk and I don't plan to validate it on the branches ! ;)

OK for trunk - Thanks for taking the extra effort to get an armada
board to validate this on.

 it's ok for the branches only if you validate it on the branches. If
someone is interested in the bug fix they can always pick it up

Ramana

>
> Thanks
> Yvan
>
>
>> Cheers,
>> Yvan
>>
>>> regards
>>> Ramana
>>>
>>>>
>>>> Rq: I think that adding IP and CC clobbers to
>>>> CALL_INSN_FUNCTION_USAGE, as specified by AAPCS, in 4.9 branch is
>>>> something we need too, I've a patch for that if you agree on that.
>>>>
>>>> Thanks,
>>>> Yvan
>>>>
>>>> 2105-03-17  Yvan Roux  <yvan.roux@linaro.org>
>>>>
>>>>     PR target/64208
>>>>     * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
>>>> alternatives.

  reply	other threads:[~2015-05-06  9:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18 10:19 Yvan Roux
2015-03-18 10:24 ` Kyrill Tkachov
2015-03-18 11:42   ` Yvan Roux
2015-03-18 16:17     ` Yvan Roux
2015-03-23 16:08 ` Ramana Radhakrishnan
2015-03-23 17:47   ` Yvan Roux
2015-03-27 10:12     ` Yvan Roux
2015-04-30 17:56     ` Yvan Roux
2015-05-06  9:50       ` Ramana Radhakrishnan [this message]
2015-05-06 14:18         ` Yvan Roux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJA7tRYxLj6bTo76xyoyC7Vc-oN-fQRfR5ziiUMeTy7unuEAPA@mail.gmail.com \
    --to=ramana.gcc@googlemail.com \
    --cc=Ramana.Radhakrishnan@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=ramrad01@arm.com \
    --cc=vmakarov@redhat.com \
    --cc=yvan.roux@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).