https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104800

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu.org

--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> ---
Another pass that has (not enough) mitigations against this is LIM (it uses
nonpure_call_p in fill_always_executed_in to decide whether a block might
not resume operation).  I'll note that "might not resume operation" is not
exactly what a volatile operation would do but it's consequence for
optimization are similar.

Are volatile accesses able to raise traps that we can unwind from?  Thus should
they all be subject to -fnon-call-exception support?  What's the situation
with Ada here?

I'll note that there's no GIMPLE abstract machine definition and a decision
could be that for the C abstract machine behavior GIMPLE would require the
use of a (internal) function call to encode volatile accesses that should
act as barrier for observable side-effects (whatever those exactly are - I
assumed gloal memory writes are, but appearantly they are not).

Reply via email to