[PATCH] D65463: [WebAssembly] Fix conflict between ret legalization and sjlj
Heejin Ahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 5 14:14:08 PDT 2019
aheejin accepted this revision.
aheejin added a comment.
LGTM with nits (+ `-wasm-keep-registers` thing as @tlively said). Thank you!
================
Comment at: llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll:19
; CHECK-NEXT: store i32 0, i32* @__THREW__
-; CHECK-NEXT: call void @__invoke_void_i32(void (i32)* @foo, i32 3)
+; CHECK-NEXT: void @__invoke_void_i32(void (i32)* @foo, i32 3)
; CHECK-NEXT: %[[__THREW__VAL:.*]] = load i32, i32* @__THREW__
----------------
Nit: How about adding `call cc{{.*}}` here too show that invokes have been converted to calls, which is one of the main things this pass does? The same thing for similar lines in this file and lower-em-sjlj.ll too.
================
Comment at: llvm/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll:13
+; Emscripten sjlj transformation
+define hidden {i32, i32} @legalized_to_sret() {
+entry:
----------------
Real nit: we can maybe remove `hidden`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65463/new/
https://reviews.llvm.org/D65463
More information about the llvm-commits
mailing list