[all-commits] [llvm/llvm-project] d9517e: [WebAssembly] Treat __cxa_end_catch not longjmpabl...

Heejin Ahn via All-commits all-commits at lists.llvm.org
Thu Jan 27 21:04:37 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d9517efbb3dc24e725b397031b3bffc6c5c1004e
      https://github.com/llvm/llvm-project/commit/d9517efbb3dc24e725b397031b3bffc6c5c1004e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll

  Log Message:
  -----------
  [WebAssembly] Treat __cxa_end_catch not longjmpable in Emscripten SjLj

In D117610 we treated `__cxa_end_catch` longjmpable even though it was
not to make unwind destination relationships correct. But we only need
to do this in Wasm SjLj, and doing this in Emscripten SjLj does not make
the code incorrect but add unnecessary invokes. This CL treats
`__cxa_end_catch` longjmpable only in Wasm SjLj.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D117943




More information about the All-commits mailing list