This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Fun with exceptions -- opinions needed


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]