[PATCH] Exception handling docs: Clarify how the llvm.eh.* intrinsics are used

Jim Grosbach grosbach at apple.com
Tue Mar 18 10:51:42 PDT 2014


On Mar 7, 2014, at 4:19 PM, Mark Seaborn <mseaborn at chromium.org> wrote:

> Hi void,
> 
> Exception handling docs: Clarify how the llvm.eh.* intrinsics are used
> 
> The non-SJLJ and SJLJ intrinsics are generated by the frontend and
> backend respectively.
> 
> 
> http://llvm-reviews.chandlerc.com/D3010
> 
> Files:
>  docs/ExceptionHandling.rst
> 
> Index: docs/ExceptionHandling.rst
> ===================================================================
> --- docs/ExceptionHandling.rst
> +++ docs/ExceptionHandling.rst
> @@ -327,10 +327,18 @@
> function.  This value can be used to compare against the result of
> ``landingpad`` instruction.  The single argument is a reference to a type info.
> 
> +Uses of this intrinsic are generated by the C++ front-end.
> +
> +SJLJ Intrinsics
> +---------------
> +
> +The ``llvm.eh.sjlj`` intrinsics are used internally within ``llc``.  Uses of
> +them are generated by ``llc``'s ``SjLjEHPrepare`` pass.
> +

This isn’t correct phrasing. ‘llc’ is orthogonal to the question here. The intrinsics are introduced by the same pass in the backend when using clang, too.

> .. _llvm.eh.sjlj.setjmp:
> 
> ``llvm.eh.sjlj.setjmp``
> ------------------------
> +~~~~~~~~~~~~~~~~~~~~~~~
> 
> .. code-block:: llvm
> 
> @@ -352,7 +360,7 @@
> .. _llvm.eh.sjlj.longjmp:
> 
> ``llvm.eh.sjlj.longjmp``
> -------------------------
> +~~~~~~~~~~~~~~~~~~~~~~~~
> 
> .. code-block:: llvm
> 
> @@ -365,7 +373,7 @@
> destination address.
> 
> ``llvm.eh.sjlj.lsda``
> ----------------------
> +~~~~~~~~~~~~~~~~~~~~~
> 
> .. code-block:: llvm
> 
> @@ -377,7 +385,7 @@
> function context for use by the runtime.
> 
> ``llvm.eh.sjlj.callsite``
> --------------------------
> +~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> .. code-block:: llvm
> <D3010.1.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list