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 | bd04b74bb25c23ff68858517960b6632abf657cd (patch) | |
tree | 5dd306ab918084ffe2df026acc0b57819d7eedbc /llvm/lib/CodeGen/ELF.h | |
parent | 601994490123553c0c837622e1642cdb6c11c9bc (diff) | |
download | bcm5719-llvm-bd04b74bb25c23ff68858517960b6632abf657cd.tar.gz bcm5719-llvm-bd04b74bb25c23ff68858517960b6632abf657cd.zip |
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.
llvm-svn: 132200
Diffstat (limited to 'llvm/lib/CodeGen/ELF.h')
0 files changed, 0 insertions, 0 deletions