[PATCH] D48985: [WebAssembly] Converted to stack based instructions in MC.

Wouter van Oortmerssen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 5 11:48:34 PDT 2018


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

- Moved Explicit Locals pass to last.
- Made that pass obligatory.
- Made it convert from register to stack based instructions, and removed the registers.
- Many fixes to related code that was expecting register based instructions.
- Reworked all the tests.


Repository:
  rL LLVM

https://reviews.llvm.org/D48985

Files:
  lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
  lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
  lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
  lib/Target/WebAssembly/WebAssemblyInstrMemory.td
  lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  test/CodeGen/WebAssembly/address-offsets.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/copysign-casts.ll
  test/CodeGen/WebAssembly/exception.ll
  test/CodeGen/WebAssembly/explicit-locals.mir
  test/CodeGen/WebAssembly/f16.ll
  test/CodeGen/WebAssembly/f32.ll
  test/CodeGen/WebAssembly/f64.ll
  test/CodeGen/WebAssembly/fast-isel-br-i1.ll
  test/CodeGen/WebAssembly/fast-isel-i24.ll
  test/CodeGen/WebAssembly/fast-isel-noreg.ll
  test/CodeGen/WebAssembly/fast-isel.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/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/implicit-def.ll
  test/CodeGen/WebAssembly/indirect-import.ll
  test/CodeGen/WebAssembly/inline-asm-m.ll
  test/CodeGen/WebAssembly/inline-asm.ll
  test/CodeGen/WebAssembly/irreducible-cfg.ll
  test/CodeGen/WebAssembly/legalize.ll
  test/CodeGen/WebAssembly/libcalls.ll
  test/CodeGen/WebAssembly/load-ext-atomic.ll
  test/CodeGen/WebAssembly/load-ext.ll
  test/CodeGen/WebAssembly/load-store-i1.ll
  test/CodeGen/WebAssembly/load.ll
  test/CodeGen/WebAssembly/lower-global-dtors.ll
  test/CodeGen/WebAssembly/mem-intrinsics.ll
  test/CodeGen/WebAssembly/memory-addr32.ll
  test/CodeGen/WebAssembly/muloti4.ll
  test/CodeGen/WebAssembly/negative-base-reg.ll
  test/CodeGen/WebAssembly/offset-atomics.ll
  test/CodeGen/WebAssembly/offset-fastisel.ll
  test/CodeGen/WebAssembly/offset-folding.ll
  test/CodeGen/WebAssembly/offset.ll
  test/CodeGen/WebAssembly/phi.ll
  test/CodeGen/WebAssembly/reg-stackify.ll
  test/CodeGen/WebAssembly/return-int32.ll
  test/CodeGen/WebAssembly/returned.ll
  test/CodeGen/WebAssembly/select.ll
  test/CodeGen/WebAssembly/signext-arg.ll
  test/CodeGen/WebAssembly/signext-inreg.ll
  test/CodeGen/WebAssembly/signext-zeroext.ll
  test/CodeGen/WebAssembly/simd-arith.ll
  test/CodeGen/WebAssembly/stack-alignment.ll
  test/CodeGen/WebAssembly/store-trunc-atomic.ll
  test/CodeGen/WebAssembly/store-trunc.ll
  test/CodeGen/WebAssembly/store.ll
  test/CodeGen/WebAssembly/switch.ll
  test/CodeGen/WebAssembly/tls.ll
  test/CodeGen/WebAssembly/umulo-i64.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/CodeGen/WebAssembly/vtable.ll
  test/MC/WebAssembly/basic-assembly.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48985.154278.patch
Type: text/x-patch
Size: 398844 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180705/1556f8af/attachment-0001.bin>


More information about the llvm-commits mailing list