diff options
author | John McCall <rjmccall@apple.com> | 2011-05-27 18:34:38 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-05-27 18:34:38 +0000 |
commit | a3de16bc8f36638d5444e3e7b0112998af54f826 (patch) | |
tree | 347a748b21b29f74599252689782c948b28362ea /include/llvm/CodeGen/TargetLoweringObjectFileImpl.h | |
parent | 11f6cc96bf794c7ede7bf8e24805f4187b24c549 (diff) |
Fix the inliner to maintain the current de facto invoke semantics:
- the selector for the landing pad must provide all available information
about the handlers, filters, and cleanups within that landing pad
- calls to _Unwind_Resume must be converted to branches to the enclosing
lpad so as to avoid re-entering the unwinder when the lpad claimed it
was going to handle the exception in some way
This is quite specific to libUnwind-based unwinding. In an effort to not
interfere too badly with other unwinders, and with existing hacks in frontends,
this only triggers on _Unwind_Resume (not _Unwind_Resume_or_Rethrow) and does
nothing with selectors if it cannot find a selector call for either lpad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132200 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/TargetLoweringObjectFileImpl.h')
0 files changed, 0 insertions, 0 deletions