llvm.org GIT mirror llvm / e259168
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205017 91177308-0d34-0410-b5e6-96231b3b80d8 Mark Seaborn 5 years ago
1 changed file(s) with 13 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
326326 function. This value can be used to compare against the result of
327327 ``landingpad`` instruction. The single argument is a reference to a type info.
328328
329 Uses of this intrinsic are generated by the C++ front-end.
330
331 SJLJ Intrinsics
332 ---------------
333
334 The ``llvm.eh.sjlj`` intrinsics are used internally within LLVM's
335 backend. Uses of them are generated by the backend's
336 ``SjLjEHPrepare`` pass.
337
329338 .. _llvm.eh.sjlj.setjmp:
330339
331340 ``llvm.eh.sjlj.setjmp``
332 -----------------------
341 ~~~~~~~~~~~~~~~~~~~~~~~
333342
334343 .. code-block:: llvm
335344
351360 .. _llvm.eh.sjlj.longjmp:
352361
353362 ``llvm.eh.sjlj.longjmp``
354 ------------------------
363 ~~~~~~~~~~~~~~~~~~~~~~~~
355364
356365 .. code-block:: llvm
357366
364373 destination address.
365374
366375 ``llvm.eh.sjlj.lsda``
367 ---------------------
376 ~~~~~~~~~~~~~~~~~~~~~
368377
369378 .. code-block:: llvm
370379
376385 function context for use by the runtime.
377386
378387 ``llvm.eh.sjlj.callsite``
379 -------------------------
388 ~~~~~~~~~~~~~~~~~~~~~~~~~
380389
381390 .. code-block:: llvm
382391