This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Fun with exceptions -- opinions needed
- From: law at redhat dot com
- To: Michael Matz <matz at suse dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 16 Jun 2003 09:11:33 -0600
- Subject: Re: [tree-ssa] Fun with exceptions -- opinions needed
- Reply-to: law at redhat dot com
In message <Pine.LNX.4.44.0306161319500.23540-100000@wotan.suse.de>, Michael Ma
tz writes:
>There was some thread about exactly this problem some months ago (it was
>in Java, but that doesn't matter here). IIRC the actual problem was, that
>something _was_ assigned to the pseudo representing 'i', although the
>function threw (thereby overwriting the initial value).
In RTL? That would be a significant bug. In RTL a function's return value
is always found in the return register and copied to the user pseudo
explicitly, which effectively gives us the same thing.
>What alternatives do you have in mind?
I didn't have one. I was mostly looking for opinions from others -- while
I think I know what the right solution is, I often like to hear from others
in the hopes that others who have tacked the problem before can make
a better suggestion or inform me of certain pitfalls. Particularly so when
working with an issue for the first time.
> The copies are an explicit
>representation of the necessary data and control flow in this situation
>(namely the separation of the side-effect of calling the function from the
>side-effect of overwriting the variable).
It certainly seems that way. This makes me wonder what LLVM does since
apparently it doesn't have copies.
Jeff