[PATCH] D111154: [WebAssembly] Implementation of table.get/set for reftypes in LLVM IR

Paulo Matos via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 14 21:56:51 PDT 2021


pmatos updated this revision to Diff 379917.
pmatos added a comment.
Herald added subscribers: cfe-commits, ormris, jdoerfert, steven_wu.
Herald added a project: clang.

Simplified a lot of code that required some further fixes and de-duplication.

Most importantly, I added many more testcases to ensure different addressing modes are supported.
The way to tell LLVM that externref and funcref pointers should not have complex addressing DAGS with shift/add/muls, 
was to add that information to the DataLayout string (p10:8:8-p20:8:8). This forced changes in many testfiles.

This looks now ready for another round of reviewing.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111154/new/

https://reviews.llvm.org/D111154

Files:
  clang/lib/Basic/Targets/WebAssembly.h
  clang/test/CodeGen/target-data.c
  lld/test/wasm/lto/Inputs/archive.ll
  lld/test/wasm/lto/Inputs/cache.ll
  lld/test/wasm/lto/Inputs/libcall-archive.ll
  lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
  lld/test/wasm/lto/Inputs/save-temps.ll
  lld/test/wasm/lto/Inputs/thinlto.ll
  lld/test/wasm/lto/Inputs/used.ll
  lld/test/wasm/lto/archive.ll
  lld/test/wasm/lto/atomics.ll
  lld/test/wasm/lto/cache.ll
  lld/test/wasm/lto/comdat.ll
  lld/test/wasm/lto/diagnostics.ll
  lld/test/wasm/lto/export.ll
  lld/test/wasm/lto/import-attributes.ll
  lld/test/wasm/lto/internalize-basic.ll
  lld/test/wasm/lto/libcall-archive.ll
  lld/test/wasm/lto/libcall-truncsfhf2.ll
  lld/test/wasm/lto/lto-start.ll
  lld/test/wasm/lto/new-pass-manager.ll
  lld/test/wasm/lto/opt-level.ll
  lld/test/wasm/lto/parallel.ll
  lld/test/wasm/lto/relocatable-undefined.ll
  lld/test/wasm/lto/relocatable.ll
  lld/test/wasm/lto/save-temps.ll
  lld/test/wasm/lto/thinlto.ll
  lld/test/wasm/lto/tls.ll
  lld/test/wasm/lto/undef.ll
  lld/test/wasm/lto/used.ll
  lld/test/wasm/lto/verify-invalid.ll
  lld/test/wasm/lto/weak-undefined.ll
  lld/test/wasm/lto/weak.ll
  llvm/lib/Target/WebAssembly/WebAssemblyISD.def
  llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
  llvm/lib/Target/WebAssembly/WebAssemblyInstrTable.td
  llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  llvm/test/CodeGen/WebAssembly/externref-tableget.ll
  llvm/test/CodeGen/WebAssembly/externref-tableset.ll
  llvm/test/CodeGen/WebAssembly/funcref-table_call.ll
  llvm/test/CodeGen/WebAssembly/funcref-tableget.ll
  llvm/test/CodeGen/WebAssembly/funcref-tableset.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111154.379917.patch
Type: text/x-patch
Size: 47039 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211015/c08b8410/attachment.bin>


More information about the llvm-commits mailing list