This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa Too many edges in CFG
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Jason Merrill <jason at redhat dot com>,Diego Novillo <dnovillo at redhat dot com>,Richard Henderson <rth at redhat dot com>,gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: 08 May 2003 12:04:51 -0400
- Subject: Re: [tree-ssa Too many edges in CFG
- References: <200305081558.h48Fwnsc004631@speedy.slc.redhat.com>
On Thu, 2003-05-08 at 11:58, law@redhat.com wrote:
> In message <1052408863.3648.2078.camel@p4>, Andrew MacLeod writes:
> >On Thu, 2003-05-08 at 11:39, Jason Merrill wrote:
> >> On 08 May 2003 11:21:02 -0400, Andrew MacLeod <amacleod@redhat.com> wrote:
> >>
> >> > That won't be good enough, we're going to need those copy-out operations
> >> > before all function call locations anyway
> >>
> >> Indeed, most non-pure function calls could potentially cause the current
> >> function to exit abnormally via longjmp or throw.
> >>
> >
> >Or they could use the global, or re-enter a function with static
> >locals... So the correct memory has to be stored to (and recovered after
> >the call) if the variables hasn't coalesced with the correct memory
> >location. Hoipefully that will be rare :-)
> But there's nothing to recover after a call to a nonreturning function.
>
> Or am I just being overly dense today?
>
> Can someone show me an example where we need code after a nonreturning
> call for correctness?
>
No, we dont need anything after the call. I see no point in having an
edge there.
Andrew