Add LLVMScalarOpts to LLVMPowerPCCodeGen.
[oota-llvm.git] / docs / ExceptionHandling.rst
index 43aa1aea470175c58bbb3df7f1b5890b3874f925..64edca786ab56b556b37ffaa8ac72935f6fcf6a8 100644 (file)
@@ -142,7 +142,7 @@ continuation points:
 #. where to continue if the call raises an exception, either by a throw or the
    unwinding of a throw
 
-The term used to define the place where an ``invoke`` continues after an
+The term used to define the place where an ``invoke`` continues after an
 exception is called a *landing pad*. LLVM landing pads are conceptually
 alternative function entry points where an exception structure reference and a
 type info index are passed in as arguments. The landing pad saves the exception
@@ -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