[PATCH] D106525: [WebAssembly] Make Emscripten EH work with Emscripten SjLj
Derek Schuff via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 23 15:27:19 PDT 2021
dschuff accepted this revision.
dschuff added inline comments.
This revision is now accepted and ready to land.
================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp:238
std::set<std::string> EHAllowlistSet;
+ // Functions that contains calls to setjmp
+ SmallPtrSet<Function *, 8> SetjmpUsers;
----------------
================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp:786
+ replaceLongjmpWithEmscriptenLongjmp(LongjmpF, EmLongjmpF);
+ // Only traverse functions that uses setjmp in order not to insert
+ // unnecessary prep / cleanup code in every function
----------------
================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp:834
+ // If setjmp/longjmp handling is enabled, the thrown value can be not an
+ // exception but a longjmp. If the current function contains calls to
----------------
I think this first sentence would be clearer as "the thrown value can be either an exception or a longjmp", or "could be a longjmp instead of an exception". Likewise in the comment below.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106525/new/
https://reviews.llvm.org/D106525
More information about the llvm-commits
mailing list