[WebAssembly] replaced .param/.result by .functype
authorWouter van Oortmerssen <aardappel@gmail.com>
Mon, 19 Nov 2018 17:10:36 +0000 (17:10 +0000)
committerWouter van Oortmerssen <aardappel@gmail.com>
Mon, 19 Nov 2018 17:10:36 +0000 (17:10 +0000)
commit49482f824a0d92f8f97121aaa6e82f409ff23d58
treeb6619cb3dddaca091bf225cbeadfc1fa224c0904
parentb25adf5edba0bfb487828600f4294702e695fdba
[WebAssembly] replaced .param/.result by .functype

Summary:
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.

Reviewers: sbc100, dschuff

Subscribers: jgravelle-google, eraman, aheejin, sunfish, jfb, llvm-commits

Differential Revision: https://reviews.llvm.org/D54652

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