[PATCH] D57938: [WebAssembly] Update MC for bulk memory

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 13 13:12:14 PST 2019

tlively planned changes to this revision.
tlively marked an inline comment as done.
tlively added a comment.

The way this CL is written now, it parses .init_flags in WasmAsmParser and writes the new data segment headers in WasmObjectWriter, but the streaming is handled in WebAssemblyTargetStreamer. This mismatch between container-level and target-level processing is no good, so I'm going to refactor the CL to use MCWasmStreamer. Unfortunately that means I will have to add new methods to the top level MCStreamer class. There are plenty of other container-specific methods in MCStreamer already, although not so much for wobjects yet. While I'm at it I will change .init_flags so that instead of applying to the current section (which must be a data section), it will take the name of the data section as an argument.

But before I do all that, I'm going to experiment with using the flags mechanism of the `.section` directive that is used by other container formats for similar purposes. This would mean no new directives and no polluting shared interfaces. Yay!

Comment at: llvm/test/MC/WebAssembly/external-data.ll:1
-; RUN: llc -filetype=obj %s -o - | obj2yaml | FileCheck %s
+; RUN: llc -filetype=obj -thread-model=single %s -o - | obj2yaml | FileCheck %s
sbc100 wrote:
> Why do this, given that single is still the default?  
Single is the default for clang, but not for llc.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list