[LLVMdev] RFC: New Exception Handling Proposal
wendling at apple.com
Tue Nov 24 15:11:58 CST 2009
On Nov 24, 2009, at 5:42 AM, Jay Foad wrote:
>>> Are you saying that, in the LLVM IR, it would be legal to have an
>>> llvm.eh.exception that *isn't* dominated by convokes (because
>>> a direct branch to that catch block), and in that case the call
>>> returns an undefined value?
>> this is already the case (with invoke substituted for convoke).
> Good to know. It would be nice if this was clearly documented!
>>> And it would be up to codegen to "peel it out into its own basic
>> Not sure what that means?
> I was trying to work out what Bill meant by this:
>> The only other problem I can see is if code branches into a catch
>> block. It's gross, but could happen. In that case, the
>> llvm.eh.exception should *not* be executed, because it's metadata
>> constructed by the compiler, not user code. It would have to be
>> peeled out into its own basic block in such instances.
> What exactly would be "peeled out into its own basic block", by whom,
> at what stage of the compilation process?
That wasn't clear. :-) This should be totally doable by the front-end,
since it's the one generating the llvm.eh.exception() call.
More information about the LLVMdev