-<p>Two LLVM intrinsic functions are used to convey information about the landing
- pad to the back end.</p>
-
-<ol>
- <li><a href="#llvm_eh_exception"><tt>llvm.eh.exception</tt></a> takes no
- arguments and returns a pointer to the exception structure. This only
- returns a sensible value if called after an <tt>invoke</tt> has branched
- to a landing pad. Due to code generation limitations, it must currently
- be called in the landing pad itself.</li>
-
- <li><a href="#llvm_eh_selector"><tt>llvm.eh.selector</tt></a> takes a minimum
- of three arguments. The first argument is the reference to the exception
- structure. The second argument is a reference to the personality function
- to be used for this <tt>try</tt>/<tt>catch</tt> sequence. Each of the
- remaining arguments is either a reference to the type info for
- a <tt>catch</tt> statement, a <a href="#throw_filters">filter</a>
- expression, or the number zero (<tt>0</tt>) representing
- a <a href="#cleanups">cleanup</a>. The exception is tested against the
- arguments sequentially from first to last. The result of
- the <a href="#llvm_eh_selector"><tt>llvm.eh.selector</tt></a> is a
- positive number if the exception matched a type info, a negative number if
- it matched a filter, and zero if it matched a cleanup. If nothing is
- matched, the behaviour of the program
- is <a href="#restrictions">undefined</a>. This only returns a sensible
- value if called after an <tt>invoke</tt> has branched to a landing pad.
- Due to codegen limitations, it must currently be called in the landing pad
- itself. If a type info matched, then the selector value is the index of
- the type info in the exception table, which can be obtained using the
- <a href="#llvm_eh_typeid_for"><tt>llvm.eh.typeid.for</tt></a>
- intrinsic.</li>
-</ol>
+<p>The LLVM <a href="LangRef.html#i_landingpad"><tt>landingpad</tt>
+ instruction</a> is used to convey information about the landing pad to the
+ back end. For C++, the <tt>landingpad</tt> instruction returns a pointer and
+ integer pair corresponding to the pointer to the <i>exception structure</i>
+ and the <i>selector value</i> respectively.</p>
+
+<p>The <tt>landingpad</tt> instruction takes a reference to the personality
+ function to be used for this <tt>try</tt>/<tt>catch</tt> sequence. The
+ remainder of the instruction is a list of <i>cleanup</i>, <i>catch</i>,
+ and <i>filter</i> clauses. The exception is tested against the clauses
+ sequentially from first to last. The selector value is a positive number if
+ the exception matched a type info, a negative number if it matched a filter,
+ and zero if it matched a cleanup. If nothing is matched, the behavior of
+ the program is <a href="#restrictions">undefined</a>. If a type info matched,
+ then the selector value is the index of the type info in the exception table,
+ which can be obtained using the
+ <a href="#llvm_eh_typeid_for"><tt>llvm.eh.typeid.for</tt></a> intrinsic.</p>