[PATCH] D124642: [WIP] Add support for return from an SEH __finally block.
Eli Friedman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon May 2 12:45:31 PDT 2022
efriedma added a comment.
I'm currently thinking it makes sense to introduce an intrinsic "void @llvm.localunwind() noreturn". No arguments. Only valid with SEH personality; must unwind to a catchpad with a filter named __IsLocalUnwind, or something like that. It would basically just lower to a call to _local_unwind, but it would compute the arguments in the backend. Primary downside is that it wouldn't be possible to unwind to anything other than the closest catchpad. But not sure if unwinding further is actually useful in practice, given the ways we need to use it.
The other thing I'm thinking about is how to restructure the code to make the catchpad hack in WinException.cpp a bit less hacky.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124642/new/
https://reviews.llvm.org/D124642
More information about the cfe-commits
mailing list