Displaying 4 results from an estimated 4 matches for "eh_sel".
2010 Dec 01
0
[LLVMdev] Alternative exception handling proposal
...abel %invcont unwind label %lpad
personality @__gxx_personality_v0
catches %struct.__fundamental_type_info_pseudo* @_ZTIi,
%struct.__pointer_type_info_pseudo* @_ZTIPKc
lpad:
call void @bar(%A* %a) ; a cleanup
br label %ppad
ppad:
%eh_ptr = call i8* llvm.eh.exception()
%eh_sel = call i32 llvm.eh.selector()
; code to clean up.
The call to @bar can insert an arbitrarily complex amount of code, including invokes, llvm.eh.selector calls, etc. Because there is no relationship between the invoke of @foo and %eh_sel in ppad, we lose that information at ppad, which is where w...
2010 Dec 02
3
[LLVMdev] Alternative exception handling proposal
...l %lpad
> personality @__gxx_personality_v0
> catches %struct.__fundamental_type_info_pseudo* @_ZTIi,
> %struct.__pointer_type_info_pseudo* @_ZTIPKc
>
> lpad:
> call void @bar(%A* %a) ; a cleanup
> br label %ppad
>
> ppad:
> %eh_ptr = call i8* llvm.eh.exception()
> %eh_sel = call i32 llvm.eh.selector()
> ; code to clean up.
>
> The call to @bar can insert an arbitrarily complex amount of code, including
> invokes, llvm.eh.selector calls, etc. Because there is no relationship between
> the invoke of @foo and %eh_sel in ppad, we lose that information at...
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
...y_v0
>> catches %struct.__fundamental_type_info_pseudo* @_ZTIi,
>> %struct.__pointer_type_info_pseudo* @_ZTIPKc
>>
>> lpad:
>> call void @bar(%A* %a) ; a cleanup
>> br label %ppad
>>
>> ppad:
>> %eh_ptr = call i8* llvm.eh.exception()
>> %eh_sel = call i32 llvm.eh.selector()
>> ; code to clean up.
>>
>> The call to @bar can insert an arbitrarily complex amount of code, including
>> invokes, llvm.eh.selector calls, etc. Because there is no relationship between
>> the invoke of @foo and %eh_sel in ppad, we lose...
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