[cfe-commits] r140049 - in /cfe/trunk: lib/CodeGen/ test/CXX/except/except.spec/ test/CodeGen/ test/CodeGenCXX/ test/CodeGenObjC/ test/CodeGenObjCXX/

Bill Wendling isanbard at gmail.com
Mon Sep 19 15:11:03 PDT 2011


On Sep 19, 2011, at 2:09 PM, Eli Friedman wrote:

> On Mon, Sep 19, 2011 at 1:31 PM, Bill Wendling <isanbard at gmail.com> wrote:
>> Author: void
>> Date: Mon Sep 19 15:31:14 2011
>> New Revision: 140049
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=140049&view=rev
>> Log:
>> Throw the switch to convert clang to the new exception handling model!
>> 
>> This model uses the 'landingpad' instruction, which is pinned to the top of the
>> landing pad. (A landing pad is defined as the destination of the unwind branch
>> of an invoke instruction.) All of the information needed to generate the correct
>> exception handling metadata during code generation is encoded into the
>> landingpad instruction.
>> 
>> The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic
>> call. It's lowered in much the same way as the intrinsic is.
> 
> Comments:
> 
> PersonalityHasOnlyCXXUses() appears to break with this change.
> Probably ought to be fixed, and we should probably have a test in the
> tree.
> 
It sure did. Though to be honest it might not have worked well anyway because the function wasn't looking through bitcasts in the eh.selector.

Anyway, I applied a patch to address this.

-bw





More information about the cfe-commits mailing list