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

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 15:56:26 PDT 2019


tlively marked an inline comment as done.
tlively added inline comments.


================
Comment at: llvm/tools/llvm-mc/llvm-mc.cpp:520
   if (disassemble)
-    Res = Disassembler::disassemble(*TheTarget, TripleName, *STI, *Str,
-                                    *Buffer, SrcMgr, Out->os());
----------------
sbc100 wrote:
> tlively wrote:
> > tlively wrote:
> > > sbc100 wrote:
> > > > This change to remove the context creation seems seperate.  If so can you split it out?  That was this change can stay wasm specific.
> > > It's not separate, unfortunately. In order to create a wasm symbol from the disassembler we need a bunch of target information that this target contains that the old one did not have.
> > I am happy to reconsider the wisdom of creating a symbol in the disassembler, though.
> I was confused because the existing disassembly already needs a context and even creates one saying: `// Set up the MCContext for creating symbols and MCExpr's.`.   So that approach seems justified and consistent with the existing code.  I'm not clear why it wasn't done this way to begin with.  
Yeah it was surprising that the previous code didn't work. With the previous code, asking the context for a symbol returned a generic MCSymbol. With the new code it returns a MCSymbolWasm, which we need to be able to set the symbol type to `wasm::WASM_SYMBOL_TYPE_FUNCTION`.


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