forked from OSchip/llvm-project
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. Differential Revision: http://llvm-reviews.chandlerc.com/D3010 llvm-svn: 205017
This commit is contained in:
parent
ff9a069a32
commit
f8388a7cb6
|
@ -327,10 +327,19 @@ This intrinsic returns the type info index in the exception table of the current
|
|||
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 LLVM's
|
||||
backend. Uses of them are generated by the backend's
|
||||
``SjLjEHPrepare`` pass.
|
||||
|
||||
.. _llvm.eh.sjlj.setjmp:
|
||||
|
||||
``llvm.eh.sjlj.setjmp``
|
||||
-----------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: llvm
|
||||
|
||||
|
@ -352,7 +361,7 @@ available for use in a target-specific manner.
|
|||
.. _llvm.eh.sjlj.longjmp:
|
||||
|
||||
``llvm.eh.sjlj.longjmp``
|
||||
------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: llvm
|
||||
|
||||
|
@ -365,7 +374,7 @@ pointer are restored from the buffer, then control is transferred to the
|
|||
destination address.
|
||||
|
||||
``llvm.eh.sjlj.lsda``
|
||||
---------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: llvm
|
||||
|
||||
|
@ -377,7 +386,7 @@ function. The SJLJ front-end code stores this address in the exception handling
|
|||
function context for use by the runtime.
|
||||
|
||||
``llvm.eh.sjlj.callsite``
|
||||
-------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: llvm
|
||||
|
||||
|
|
Loading…
Reference in New Issue