public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Guenther <richard.guenther@gmail.com>
To: Michael Matz <matz@suse.de>
Cc: Richard Henderson <rth@redhat.com>, Jan Hubicka <hubicka@ucw.cz>,
	gcc@gcc.gnu.org
Subject: Re: Notes toward re-implementing EH in gimple
Date: Mon, 10 Aug 2009 15:20:00 -0000	[thread overview]
Message-ID: <84fc9c000908100625v4d5f44aet5246b36d69bcddb5@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0908101515320.29566@wotan.suse.de>

On Mon, Aug 10, 2009 at 3:21 PM, Michael Matz<matz@suse.de> wrote:
> Hi,
>
> On Mon, 10 Aug 2009, Richard Guenther wrote:
>
>> >> No and no.  They will eventually resolve to pseudos generated during
>> >> rtl eh expansion.  But to avoid silliness at the gimple level I don't
>> >> want to allow them to appear at random.
>> >
>> > Shouldn't it be enough to have EXC_PTR_EXPR/FILTER_EXPR simply be
>> > builtin functions with proper attributes.  They wouldn't be moved
>> > upwards over the EH edge because that would introduce effects after
>> > the throwing stmt, and they wouldn't be moved downwards due to use-def
>> > relationships on exc_ptr.1/filter.1 in the EH_DISPATCH/RESX uses.
>>
>> What would these attributes be?  If you want to have the builtin having
>> side-effects it can't be pure or const.
>
> Ah, you got me, I conciously wrote 'proper' :)  Theoretically these
> functions are pure, with the EH edges clobbering global state.  The latter
> might possibly be modeled with PHI nodes on .MEM.  But that would probably
> prevent the below CSEing again :-/

For pure functions there should indeed be PHI nodes for .MEM because
we have new state on the incoming EH edges.  So it might even work.
It doesn't prevent the function from being sinked somewhere, but
nobody is going to do that for reads anyway (fingers crossing).

Richard.

> Hmm.
>
>
> Ciao,
> Michael.

  reply	other threads:[~2009-08-10 13:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4A79EA5A.6030506@redhat.com>
     [not found] ` <20090806154859.GC23386@atrey.karlin.mff.cuni.cz>
     [not found]   ` <4A7B00D0.2090509@redhat.com>
2009-08-06 19:41     ` Richard Henderson
2009-08-06 20:44       ` Diego Novillo
2009-08-06 22:06       ` Jan Hubicka
2009-08-06 22:49         ` Richard Henderson
2009-08-07 19:32       ` Richard Henderson
2009-08-07 19:58         ` Richard Guenther
2009-08-08 11:01           ` Richard Henderson
2009-08-10 13:09             ` Michael Matz
2009-08-10 13:23               ` Richard Guenther
2009-08-10 13:33                 ` Michael Matz
2009-08-10 15:20                   ` Richard Guenther [this message]
2009-08-10 16:47               ` Richard Henderson
2009-08-10 17:28                 ` Michael Matz
2009-08-10 18:57                   ` Richard Henderson
2009-08-15 19:01                     ` Jan Hubicka
2009-08-13 15:44         ` Jan Hubicka
2009-08-13 21:43           ` Richard Henderson
2009-08-15 21:50             ` Jan Hubicka

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=84fc9c000908100625v4d5f44aet5246b36d69bcddb5@mail.gmail.com \
    --to=richard.guenther@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=matz@suse.de \
    --cc=rth@redhat.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).