This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RS6000] power8 internal compiler errors
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Michael Meissner <mrmeissn at us dot ibm dot com>
- Date: Fri, 14 Feb 2014 09:38:51 -0500
- Subject: Re: [RS6000] power8 internal compiler errors
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnyn+oyRysMfDff_jEB7r40B6i_ZaOVwLnGsSMtpXui2_-w at mail dot gmail dot com> <201402121747 dot s1CHlb7J013413 at d06av02 dot portsmouth dot uk dot ibm dot com> <20140214071830 dot GR3386 at bubble dot grove dot modra dot org>
On Fri, Feb 14, 2014 at 2:18 AM, Alan Modra <amodra@gmail.com> wrote:
> On Wed, Feb 12, 2014 at 06:47:37PM +0100, Ulrich Weigand wrote:
>> Note that find_replacement itself already recurses into both sides
>> of a PLUS.
>
> Thanks, I missed seeing that. I'd analysed the bug and knew what
> needed doing from past forays into reload, so went looking for ways to
> get at the reloads, ie. "replacements" at that stage of reload. Lo
> and behold, there's a function tailor made to do just that! So I
> plugged in find_replacements() wherever it seemed necessary.
>
>> So it might be
>> easier and cheaper overall to just do a find_replacement within
>> the PRE_MODIFY clause ...
>
> That's a good idea, since PRE_MODIFY doesn't occur that often.
> Here is the revised patch with your recommendations. Bootstrapped
> and regression tested powerpc64-linux.
>
> PR target/58675
> PR target/57935
> * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
> find_replacement on parts of insn rtl that might be reloaded.
Okay, this is a cleaner solution.
- David