[PATCH] D54652: [WebAssembly] replaced .param/.result by .functype

Wouter van Oortmerssen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 16 14:37:22 PST 2018


aardappel created this revision.
aardappel added reviewers: sbc100, dschuff.
Herald added subscribers: llvm-commits, jfb, sunfish, aheejin, eraman, jgravelle-google.

This makes it easier/cleaner to generate a single signature from
this directive. Also:

- Adds the symbol name, such that we don't depend on the location of this directive anymore.
- Actually constructs the signature in the assembler, and make the assembler own it.
- Refactor the use of MVT vs ValType in the streamer and assembler to require less conversions overall.
- Changed 700 or so tests to use it.


Repository:
  rL LLVM

https://reviews.llvm.org/D54652

Files:
  include/llvm/MC/MCAsmMacro.h
  lib/MC/MCParser/AsmLexer.cpp
  lib/MC/MCParser/MCAsmLexer.cpp
  lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
  lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
  lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
  test/CodeGen/WebAssembly/address-offsets.ll
  test/CodeGen/WebAssembly/atomic-mem-consistency.ll
  test/CodeGen/WebAssembly/atomic-rmw.ll
  test/CodeGen/WebAssembly/byval.ll
  test/CodeGen/WebAssembly/call.ll
  test/CodeGen/WebAssembly/cfg-stackify.ll
  test/CodeGen/WebAssembly/comparisons-f32.ll
  test/CodeGen/WebAssembly/comparisons-f64.ll
  test/CodeGen/WebAssembly/comparisons-i32.ll
  test/CodeGen/WebAssembly/comparisons-i64.ll
  test/CodeGen/WebAssembly/conv-trap.ll
  test/CodeGen/WebAssembly/conv.ll
  test/CodeGen/WebAssembly/dead-vreg.ll
  test/CodeGen/WebAssembly/exception.ll
  test/CodeGen/WebAssembly/f16.ll
  test/CodeGen/WebAssembly/f32.ll
  test/CodeGen/WebAssembly/f64.ll
  test/CodeGen/WebAssembly/fast-isel-i24.ll
  test/CodeGen/WebAssembly/fast-isel-i256.ll
  test/CodeGen/WebAssembly/frem.ll
  test/CodeGen/WebAssembly/func.ll
  test/CodeGen/WebAssembly/function-bitcasts-varargs.ll
  test/CodeGen/WebAssembly/function-bitcasts.ll
  test/CodeGen/WebAssembly/global.ll
  test/CodeGen/WebAssembly/i128-returned.ll
  test/CodeGen/WebAssembly/i128.ll
  test/CodeGen/WebAssembly/i32-load-store-alignment.ll
  test/CodeGen/WebAssembly/i32.ll
  test/CodeGen/WebAssembly/i64-load-store-alignment.ll
  test/CodeGen/WebAssembly/i64.ll
  test/CodeGen/WebAssembly/immediates.ll
  test/CodeGen/WebAssembly/indirect-import.ll
  test/CodeGen/WebAssembly/inline-asm-roundtrip.ll
  test/CodeGen/WebAssembly/inline-asm.ll
  test/CodeGen/WebAssembly/load.ll
  test/CodeGen/WebAssembly/lower-global-dtors.ll
  test/CodeGen/WebAssembly/main-declaration.ll
  test/CodeGen/WebAssembly/main-no-args.ll
  test/CodeGen/WebAssembly/main-with-args.ll
  test/CodeGen/WebAssembly/memory-addr32.ll
  test/CodeGen/WebAssembly/offset-atomics.ll
  test/CodeGen/WebAssembly/offset-folding.ll
  test/CodeGen/WebAssembly/offset.ll
  test/CodeGen/WebAssembly/reg-stackify.ll
  test/CodeGen/WebAssembly/return-int32.ll
  test/CodeGen/WebAssembly/return-void.ll
  test/CodeGen/WebAssembly/returned.ll
  test/CodeGen/WebAssembly/select.ll
  test/CodeGen/WebAssembly/signext-inreg.ll
  test/CodeGen/WebAssembly/signext-zeroext.ll
  test/CodeGen/WebAssembly/simd-arith.ll
  test/CodeGen/WebAssembly/simd-comparisons.ll
  test/CodeGen/WebAssembly/simd-conversions.ll
  test/CodeGen/WebAssembly/simd-ext-load-trunc-store.ll
  test/CodeGen/WebAssembly/simd-intrinsics.ll
  test/CodeGen/WebAssembly/simd-load-store-alignment.ll
  test/CodeGen/WebAssembly/simd-offset.ll
  test/CodeGen/WebAssembly/simd-select.ll
  test/CodeGen/WebAssembly/simd-sext-inreg.ll
  test/CodeGen/WebAssembly/simd.ll
  test/CodeGen/WebAssembly/store.ll
  test/CodeGen/WebAssembly/unsupported-function-bitcasts.ll
  test/CodeGen/WebAssembly/unused-argument.ll
  test/CodeGen/WebAssembly/userstack.ll
  test/CodeGen/WebAssembly/varargs.ll
  test/MC/WebAssembly/basic-assembly.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54652.174453.patch
Type: text/x-patch
Size: 412842 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181116/9b898db1/attachment-0001.bin>


More information about the llvm-commits mailing list