[llvm-commits] [Patch] Exception Handling Documentation

Bill Wendling wendling at apple.com
Wed Aug 3 11:35:29 PDT 2011


On Aug 3, 2011, at 11:07 AM, Chris Lattner wrote:

> On Aug 3, 2011, at 10:12 AM, Bill Wendling wrote:
>>> I agree that this is likely to work with Darwin's libUnwind as long as the
>>> LSDA doesn't indicate a cleanup for the call to calls_resume(), or that
>>> landing pad doesn't lead to an outlined _Unwind_Resume call.  I am
>>> less certain about SjLj unwinding, but it'll probably work there again.
>>> I really see zero value in supporting this, though, and I do think it's
>>> contrary to the intent of the ABI document.
>>> 
>> It's more of a philosophical issue. LLVM's IR has always been flexible enough that you should be able to take some basic blocks and make a function out of them without changing the semantics of the program.[1] I'm assuming that this is why Chris asked this question. The value would be in having one less restriction on the IR. I like restrictions, but only if they are 100% necessary.
>> 
>> -bw
>> 
>> [1] Not 100% true (e.g., invoke), but close to true for most LLVM IR instructions.
> 
> This also isn't true for VLA alloca's and other stuff.  If an "outlined" resume is something that is reliable across platforms and that frontend authors can depend on, then we should allow it in LangRef.  If it isn't, we shouldn't.
> 
Okay. Since there's doubt that all platforms support an "outlined" resume, and the EH doc strongly suggests that it shouldn't be outlined. I'll change the documentation to reflect this.

-bw




More information about the llvm-commits mailing list