[LLVMdev] RFC: New Exception Handling Proposal

Sandeep Patel deeppatel1987 at gmail.com
Tue Nov 24 14:21:56 PST 2009


On Wed, Nov 18, 2009 at 10:22 PM, Bill Wendling <wendling at apple.com> wrote:
> The current exception handling mechanism encodes the exception
> handling metadata
> by using intrinsics and the CFG itself.
...
> Exception handling metadata is no longer encoded in the CFG. It is
> much more
> sanely specified, and thus easier to understand by normal humans. The
> optimizers
> are free to modify the code as they see fit. In fact, they may be able
> to do a
> better job at it. For instance, they could perform optimizations
> mixing the
> cleanup and catch code. If the "filters" were part of the function
> instead of an
> intrinsic, there is the potential for optimizations based upon
> knowledge that a
> function cannot throw a particular type.

Catch blocks are attractive targets for hot/cold optimizations of
various kinds (-Os, move the block to a different VM page, Thumb ISA
vs ARM ISA, etc.)

If EH isn't modeled directly on the CFG, how can these optimizations be handled?

deep



More information about the llvm-dev mailing list