[PATCH] D94039: [WebAssembly] Update WasmEHPrepare for the new spec

Thomas Lively via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 5 10:41:23 PST 2021


tlively added a comment.

In the description I think "but LLVM does not have a way of that kind of behavior" is missing the word "modeling" => "but LLVM does not have a way of modeling that kind of behavior"



================
Comment at: llvm/lib/CodeGen/WasmEHPrepare.cpp:374-375
+  // be lowered to wasm 'catch' instruction. We do this mainly because
+  // instruction selection cannot handle wasm.get.exception intrinsic's token
+  // argument.
+  Instruction *CatchCI =
----------------
What is the token argument used for? Could clang generate `llvm.wasm.catch` directly?


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td:166
 let isCodeGenOnly = 1, hasSideEffects = 1 in
-defm EXTRACT_EXCEPTION_I32 : NRI<(outs I32:$dst), (ins),
-                                 [(set I32:$dst, (int_wasm_extract_exception))],
+defm EXTRACT_EXCEPTION_I32 : NRI<(outs I32:$dst), (ins), [],
                                  "extract_exception\t$dst">;
----------------
Why do we need to keep this instruction definition? Is it removed in a later diff in this stack?


================
Comment at: llvm/test/CodeGen/WebAssembly/wasmehprepare.ll:611
 declare void @__clang_call_terminate(i8*)
+declare void @_ZSt9terminatev()
 
----------------
What is this addition for?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94039/new/

https://reviews.llvm.org/D94039



More information about the cfe-commits mailing list