[PATCH] D74192: [WebAssembly] Replace all calls with generalized multivalue calls

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 14 18:03:25 PST 2020


aheejin accepted this revision.
aheejin added a comment.
This revision is now accepted and ready to land.
Herald added a subscriber: miyuki.

Yay! 🎉🎉🎉 It's very simpler and nicer this way.



================
Comment at: llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp:80
     }
   }
 
----------------
Can we add a test that prints multivalue calls w/ `-wasm-keep-registers` and `-wasm-explicit-locals` on? I don't think this part is being tested for multivalue calls.


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td:70
 
-let isCodeGenOnly = 1 in
-defm PCALL_INDIRECT_VOID :
-  I<(outs), (ins I32:$callee, variable_ops),
-    (outs), (ins I32:$callee),
-    [(WebAssemblycall0 I32:$callee)],
-    "PSEUDO CALL INDIRECT\t$callee",
-    "PSEUDO CALL INDIRECT\t$callee">;
-
-defm CALL_INDIRECT_VOID :
-  I<(outs), (ins TypeIndex:$type, i32imm:$flags, variable_ops),
-    (outs), (ins TypeIndex:$type, i32imm:$flags),
-    [],
-    "call_indirect\t", "call_indirect\t$type",
-    0x11>;
-
-let isReturn = 1 in
+let isReturn = 1, usesCustomInserter = 1 in
 defm RET_CALL_INDIRECT :
----------------
Why `usesCustomInserter` for `RET_CALL_INDIRECT`?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74192





More information about the llvm-commits mailing list