public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Bernd Schmidt <bschmidt@redhat.com>
To: Richard Biener <richard.guenther@gmail.com>, Michael Matz <matz@suse.de>
Cc: Jakub Jelinek <jakub@redhat.com>, Jeff Law <law@redhat.com>,
	       GCC Patches <gcc-patches@gcc.gnu.org>,
	       Sebastian Pop <sebpop@gmail.com>
Subject: Re: Remove noce_mem_write_may_trap_or_fault_p in ifcvt
Date: Fri, 27 Nov 2015 10:22:00 -0000	[thread overview]
Message-ID: <56582B55.30009@redhat.com> (raw)
In-Reply-To: <CAFiYyc1LZ9f-K8Bq=9dcj5WVVG1V1TQB6Ls3ktPCK+NesMNOXQ@mail.gmail.com>

On 11/26/2015 10:46 AM, Richard Biener wrote:

> Ok with the change suggested by Micha for the asm()s.  Note that I
> originally used gimple_vuse () instead of gimple_vdef () as even
> reading random memory is a barrier for the compiler to move stores
> across it (not reads, of course).  Which is why I also considered
> pure (global memory reading) calls to be a barrier (for the stores).

Yes, but IIUC the stores aren't being moved, they may just be turned 
into unconditional ones. Being nontrapping is one necessary condition 
for that (which we already compute), but we also want to make sure that 
we don't introduce surprises for threaded programs.

> Of course as we don't consider regular assign statement reads (or stores)
> to be a "barrier" in the sense that matters here (we're not looking for
> memory optimization barriers!) this might be moot and then the
> middle-end will effectively require all synchronization barriers (which we
> are looking for(?)) to appear as clobbering memory.

If I read this correctly you have reached the same conclusions. Test 
results came back ok (with vdef tested for asms), and I've committed the 
change.


Bernd

  reply	other threads:[~2015-11-27 10:07 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-06 17:21 Bernd Schmidt
2015-11-06 18:39 ` Jeff Law
2015-11-06 18:44   ` Bernd Schmidt
2015-11-06 19:20     ` Jeff Law
2015-11-06 19:30       ` Bernd Schmidt
2015-11-06 21:09         ` Jeff Law
2015-11-18 19:16           ` Bernd Schmidt
2015-11-18 23:49             ` Jeff Law
2015-11-20 14:09               ` Bernd Schmidt
2015-11-20 18:57                 ` Jeff Law
2015-11-23 16:07                   ` Michael Matz
2015-11-25 10:46                     ` Bernd Schmidt
2015-11-25 11:53                       ` Richard Biener
2015-11-25 13:18                         ` Michael Matz
2015-11-25 14:52                           ` Richard Biener
2015-11-25 15:02                             ` Jakub Jelinek
2015-11-25 15:18                               ` Michael Matz
2015-11-25 15:49                               ` Bernd Schmidt
2015-11-25 15:55                                 ` Michael Matz
2015-11-26  9:50                                   ` Richard Biener
2015-11-27 10:22                                     ` Bernd Schmidt [this message]
2015-11-25 13:18                       ` Michael Matz
2015-11-25 10:36                   ` Bernd Schmidt
2015-11-23 16:03                 ` Michael Matz

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=56582B55.30009@redhat.com \
    --to=bschmidt@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=law@redhat.com \
    --cc=matz@suse.de \
    --cc=richard.guenther@gmail.com \
    --cc=sebpop@gmail.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).