[PATCH] D68889: [WebAssembly] Allow multivalue types in block signature operands

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 14 11:58:56 PDT 2019


tlively added a comment.

In D68889#1708287 <https://reviews.llvm.org/D68889#1708287>, @aheejin wrote:

> In D68889#1706857 <https://reviews.llvm.org/D68889#1706857>, @aheejin wrote:
>
> > Nice! Mostly LGTM.
> >
> > > Currently non-void blocks are only generated at the end of functions where the block return type needs to agree with the function return type, and that remains true for multivalue blocks. That invariant means that the actual signature does not need to be stored in the block signature MachineOperand because it can be inferred by WebAssemblyMCInstLower from the return type of the parent function.
> >
> > I guess this is a tentative state before you implement the rest of the proposal in full, right? If other blocks are able to return multivalue, are we gonna change their operands to also take typeindex?
>


I don't think we have to change this, or if we do it could be considered a separate project. Up to now we have been ok not using the ability for blocks to produce values, so I don't see a pressing need to change that. When we do work on multivalue blocks, it will be more important to have them in Binaryen first.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68889





More information about the llvm-commits mailing list