[PATCH] D94039: [WebAssembly] Update WasmEHPrepare for the new spec
Thomas Lively via Phabricator via llvm-commits
llvm-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 llvm-commits
mailing list