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

Eli Friedman eli.friedman at gmail.com
Mon Sep 19 14:09:22 PDT 2011


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.

Can we remove CleanupHackLevel now?

>     // Create a filter expression: an integer constant saying how many
>     // filters there are (+1 to avoid ambiguity with 0 for cleanup),
>     // followed by the filter types.  The personality routine only
>     // lands here if the filter doesn't match.

This comment needs to be updated.

-Eli




More information about the cfe-commits mailing list