[LLVMdev] RFC: New Exception Handling Proposal
    Bill Wendling 
    wendling at apple.com
       
    Tue Nov 24 13:10:59 PST 2009
    
    
  
On Nov 24, 2009, at 2:15 AM, Jay Foad wrote:
>> Well, be warned that there can be multiple convokes which jump to  
>> the same
>> landing pads. So there cannot be a one-to-one correspondence  
>> between them.
>> However, an llvm.eh.exception should be dominated by at least one  
>> convoke.
>> 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.
>
> 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 there's
> a direct branch to that catch block), and in that case the call
> returns an undefined value?
No. The opposite of that.
> And it would be up to codegen to "peel it out into its own basic  
> block"?
>
The front-end should be able to take care of this.
-bw
    
    
More information about the llvm-dev
mailing list