[LLVMdev] Inlining and exception handling in LLVM and GCC

Renato Golin rengolin at systemcall.org
Tue Dec 7 13:13:30 PST 2010


Hi Duncan,

I see the similarities with GCC and Bill's proposal, makes sense.


On 7 December 2010 20:20, Duncan Sands <baldrick at free.fr> wrote:
>>   1. It eases the future elimination of invoke, or at least, the
>> treatment of current instruction-level exception (as in Java) in a
>> cleaner way.
>
> I don't see what is cleaner about it, except that it is overall at a higher
> level of abstraction (see above).

If I got it right, his proposal had the unwind path in the basic block
(rather than in the invoke), so any instructions in that basic block
(including simple calls, without the nounwind attribute) would use
that as the landing pad.

That would make invokes obsolete.


>>   2. It reinforces the idea of having one personality function for
>> each EH table (ie. per function), especially when inlining code from
>> different paradigms (if that's possible).
>
> According to Bill's proposal each dispatch instruction can specify a
> different
> personality function, so it's just the same as my proposal in this respect.

I confess that I didn't read all the emails in all threads, so I have
gotten some things wrong. I thought there could be only one dispatch
per function, but now that you mentioned, it doesn't really make
sense.

cheers,
--renato




More information about the llvm-dev mailing list