This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa Too many edges in CFG
- From: law at redhat dot com
- To: Andrew MacLeod <amacleod 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: Thu, 08 May 2003 09:58:49 -0600
- Subject: Re: [tree-ssa Too many edges in CFG
- Reply-to: law at redhat dot com
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 <firstname.lastname@example.org> 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?