public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>
To: GCC Patches <gcc-patches@gcc.gnu.org>
Cc: Marcus Shawcroft <marcus.shawcroft@arm.com>,
	 Richard Earnshaw <Richard.Earnshaw@arm.com>,
	James Greenhalgh <james.greenhalgh@arm.com>
Subject: Re: [PATCH][AArch64] PR target/70002: Make aarch64_set_current_function play nice with pragma resetting
Date: Thu, 10 Mar 2016 12:24:00 -0000	[thread overview]
Message-ID: <56E1676E.3060409@foss.arm.com> (raw)
In-Reply-To: <56D82223.8020805@foss.arm.com>

Ping.
https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00237.html

Thanks,
Kyrill
On 03/03/16 11:38, Kyrill Tkachov wrote:
> Hi all,
>
> This patch fixes the ICE that was introduced by my earlier patch to aarch64_set_current_function:
> FAIL: gcc.dg/torture/pr52429.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error)
>
> And it also fixes a bug that I was working on separately relating to popping pragmas.
> The patch rewrites the aarch64_set_current_function implementation to be the same as the one in the arm port
> that Christian wrote and which is simpler than the existing implementation and has been tested for some time
> without problems. I've thought this was the way to go but was hoping to do it for GCC 7 instead, but I think
> given the ICE we'd rather have consistent implementations of this hook between arm and aarch64 (and ideally
> this should be moved into the midend for all targets, I don't see much target-specific information in the
> implementation of this across the targets, but not at this stage).
>
> Similar to that implementation the setting and restoring of the target globals is factored into a separate
> function that is used in aarch64_set_current_function and the pragma handling function to tell the midend
> when to reinitialise its structures.
>
> This patch fixes the ICE, the testcase attached, and passes bootstrap and regression testing on
> aarch64-none-linux-gnu.
>
> Sorry for missing the ICE originally.
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> P.S. The vector arguments re-layout hack that was in aarch64_set_current_function is removed because
> it has become unneeded since Christian fixed some midend bugs so that it's done automatically there.
>
> 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>     PR target/70002
>     * config/aarch64/aarch64-protos.h
>     (aarch64_save_restore_target_globals): New prototype.
>     * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
>     Call the above when popping pragma.
>     * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
>     New function.
>     (aarch64_set_current_function): Rewrite using the above.
>
> 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>     PR target/70002
>     PR target/69245
>     * gcc.target/aarch64/pr69245_2.c: New test.

  reply	other threads:[~2016-03-10 12:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03 11:38 Kyrill Tkachov
2016-03-10 12:24 ` Kyrill Tkachov [this message]
2016-03-10 14:51 ` James Greenhalgh
2016-03-11 15:27   ` Kyrill Tkachov

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=56E1676E.3060409@foss.arm.com \
    --to=kyrylo.tkachov@foss.arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=james.greenhalgh@arm.com \
    --cc=marcus.shawcroft@arm.com \
    /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).