search for: eh_sel

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