[all-commits] [llvm/llvm-project] c2c9a3: [WebAssembly] Rename wasm.catch.exn intrinsic back...

Heejin Ahn via All-commits all-commits at lists.llvm.org
Wed Aug 25 14:19:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c2c9a3fd9c2c2d293e31d2e406a255fb18e4bb81
      https://github.com/llvm/llvm-project/commit/c2c9a3fd9c2c2d293e31d2e406a255fb18e4bb81
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2021-08-25 (Wed, 25 Aug 2021)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/test/CodeGen/WebAssembly/wasmehprepare.ll

  Log Message:
  -----------
  [WebAssembly] Rename wasm.catch.exn intrinsic back to wasm.catch

The plan was to use `wasm.catch.exn` intrinsic to catch exceptions and
add `wasm.catch.longjmp` intrinsic, that returns two values (setjmp
buffer and return value), later to catch longjmps. But because we
decided not to use multivalue support at the moment, we are going to use
one intrinsic that returns a single value for both exceptions and
longjmps. And even if it's not for that, I now think the naming of
`wasm.catch.exn` is a little weird, because the intrinsic can still take
a tag immediate, which means it can be used for anything, not only
exceptions, as long as that returns a single value.

This partially reverts D107405.

Reviewed By: tlively

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




More information about the All-commits mailing list