This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR rtl-optimization/61047
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- Date: Thu, 12 Jun 2014 10:36:25 +0200
- Subject: Re: [PATCH] PR rtl-optimization/61047
- Authentication-results: sourceware.org; auth=none
- References: <DUB118-W3201F6729F0278EC93FDB0E42B0 at phx dot gbl> <11545593 dot g2z1cC8Qtm at polaris> <CAFiYyc0eXNcCchC3a3v-H3Z03J_YOGZ123QZKJxSCDc4dV6a+w at mail dot gmail dot com>
> Btw, I wonder if we can simply mark the MEMs generated from spill code
> with MEM_NOTRAP_P so we can remove the special casing of
> frame-pointer-based addresses from add while properly initializing
> MEM_NOTRAP_p from rtx_addr_can_trap_p?
Spill code generated by the compiler itself? That's quite restrictive.
> I suppose it was added exactly to cover spill code?
Nope, it was added for jump tables:
2003-04-22 Richard Henderson <rth@redhat.com>
PR 8866
* rtl.h (MEM_NOTRAP_P): New.
(MEM_COPY_ATTRIBUTES): Copy it.
* rtlanal.c (may_trap_p): Check it.
* expr.c (do_tablejump): Set it.
* doc/rtl.texi (Flags): Document it.
* cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
that is to say, for memory accesses that can nominally trap but for which we
know that they actually don't.
--
Eric Botcazou