[PATCH] D56633: [WebAssembly] Optimize BUILD_VECTOR lowering for size

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 11 21:03:36 PST 2019


tlively created this revision.
tlively added a reviewer: aheejin.
Herald added subscribers: llvm-commits, sunfish, jgravelle-google, sbc100, dschuff.

Implements custom lowering logic that finds the optimal value for the
initial splat of the vector and either uses it or uses v128.const if
it is available and if it would produce smaller code. This logic
replaces large TableGen ISEL patterns that would lower all non-splat
BUILD_VECTORs into a splat followed by a fixed number of replace_lane
instructions. This CL fixes PR39685.


Repository:
  rL LLVM

https://reviews.llvm.org/D56633

Files:
  lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  lib/Target/WebAssembly/WebAssemblyISelLowering.h
  lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
  test/CodeGen/WebAssembly/simd-build-vector.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56633.181422.patch
Type: text/x-patch
Size: 13764 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190112/7deb4f26/attachment.bin>


More information about the llvm-commits mailing list