[WebAssembly] Use default attributes for intrinsics
authorNikita Popov <npopov@redhat.com>
Mon, 7 Nov 2022 14:50:05 +0000 (15:50 +0100)
committerNikita Popov <npopov@redhat.com>
Mon, 7 Nov 2022 16:05:36 +0000 (17:05 +0100)
commitd35fcf0e97e7bb02381506a71e61ec282b292c50
tree1250017de31217cd78f448ef0812c43acfa0f876
parenta50c269c7372f5f0373fe3876ed8f8acf0e2f12d
[WebAssembly] Use default attributes for intrinsics

This switches wasm intrinsics to use default attributes,
i.e. nofree, nosync, nocallback and willreturn. Especially
willreturn will be required to avoid optimization regressions
in the future.

The attributes are omitted from the trapping fptoi intrinsics
(where I assume trapping is considered well-defined, and as such
these aren't willreturn), the throw/rethrow intrinsics (which
will unwind) and the atomic intrinsics (which aren't nosync).

Differential Revision: https://reviews.llvm.org/D137551
llvm/include/llvm/IR/IntrinsicsWebAssembly.td
llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll