Displaying 4 results from an estimated 4 matches for "crazytarget".
2010 Dec 02
5
[LLVMdev] Alternative exception handling proposal
...passing in the right
information.
That is, instead of:
rewind i8* %saved_exception_ptr
you'd have:
rewind void @_Unwind_Resume(i8* %saved_exception_ptr)
or:
rewind void @_cxa_end_cleanup()
or, for targets that want special code sequences for resuming, something like:
rewind void @llvm.crazytarget.end_cleanup()
This also handily eliminates the problem of EHPrepare having to calculate data flow
itself to the rewind instruction.
Since Gabor already made most of the world use CallSite, adding a third
call-like wouldn't be the end of the world, although I think most operations on calls
(in...
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
Two amendments:
> The semantics of the invoke instruction are slightly modified: if an exception
> unwinds and it doesn't match anything in the list of catches and filters,
> and there is no cleanup, then control doesn't branch to the unwind label,
> unwinding simply continues out of the function.
in fact the new semantics would be that if an exception doesn't match then
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
...t is, instead of:
> rewind i8* %saved_exception_ptr
> you'd have:
> rewind void @_Unwind_Resume(i8* %saved_exception_ptr)
> or:
> rewind void @_cxa_end_cleanup()
> or, for targets that want special code sequences for resuming, something like:
> rewind void @llvm.crazytarget.end_cleanup()
>
> This also handily eliminates the problem of EHPrepare having to calculate data flow
> itself to the rewind instruction.
>
> Since Gabor already made most of the world use CallSite, adding a third
> call-like wouldn't be the end of the world, although I think...
2010 Dec 01
8
[LLVMdev] Alternative exception handling proposal
Here is an alternative proposal to Bill's. It is closer to what we already
have (which can be seen as a good or a bad thing!), and is also closer to
what gcc does. It is more incremental than Bill's and introduces fewer
new concepts.
Executive summary
-----------------
Remove the personality and list of catches out of eh.selector and stick them
directly on invoke instructions.
The