[PATCH] D74191: [WebAssembly] Implement multivalue call_indirects

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 6 20:42:14 PST 2020


tlively created this revision.
tlively added a reviewer: aheejin.
Herald added subscribers: llvm-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff.
Herald added a project: LLVM.

Unlike normal calls, call_indirects have immediate arguments that
caused a MachineVerifier failure without a small tweak to loosen the
verifier's requirements for variadicOpsAreDefs instructions.

One nice thing about the new call_indirects is that they do not need
to participate in the PCALL_INDIRECT mechanism because their post-isel
hook handles moving the function pointer argument and adding the flags
and typeindex arguments itself.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74191

Files:
  llvm/lib/CodeGen/MachineVerifier.cpp
  llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
  llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
  llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
  llvm/test/CodeGen/WebAssembly/multivalue.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74191.243071.patch
Type: text/x-patch
Size: 13577 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200207/318b29a4/attachment.bin>


More information about the llvm-commits mailing list