diff options
author | John McCall <rjmccall@apple.com> | 2011-05-28 07:45:59 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-05-28 07:45:59 +0000 |
commit | d7c10862016939c9850cadfe5e1c35513c0adf28 (patch) | |
tree | 9c4361dee8c7f6f75c33e68bd4a8de1223e6f6d3 /lib/CodeGen/RenderMachineFunction.cpp | |
parent | bd0fa4c00d7870b1da36eac7b2181700381f2f96 (diff) |
Implement and document the llvm.eh.resume intrinsic, which is
transformed by the inliner into a branch to the enclosing landing pad
(when inlined through an invoke). If not so optimized, it is lowered
DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
as appropriate). Its chief advantage is that it takes both the
exception value and the selector value as arguments, meaning that there
is zero effort in recovering these; however, the frontend is required
to pass these down, which is not actually particularly difficult.
Also document the behavior of landing pads a bit better, and make it
clearer that it's okay that personality functions don't always land at
landing pads. This is just a fact of life. Don't write optimizations that
rely on pushing things over an unwind edge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132253 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RenderMachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions