[all-commits] [llvm/llvm-project] 2ab1b8: [WebAssembly] Handle multiple loads of splatted loads

Thomas Lively via All-commits all-commits at lists.llvm.org
Thu Oct 31 14:59:34 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ab1b8c1ec452fb743f6cc5051e75a01039cabfe
      https://github.com/llvm/llvm-project/commit/2ab1b8c1ec452fb743f6cc5051e75a01039cabfe
  Author: Thomas Lively <tlively at google.com>
  Date:   2019-10-31 (Thu, 31 Oct 2019)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    A llvm/test/CodeGen/WebAssembly/simd-load-splat.ll

  Log Message:
  -----------
  [WebAssembly] Handle multiple loads of splatted loads

Summary:
Fixes an ISel failure when a splatted load is used more than once. The
failure was due to the hacks we were doing in ISel lowering to
preserve the original load as the operand of a LOAD_SPLAT node. The
fix is to properly lower the splatted use of the load to a separate
LOAD_SPLAT node.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list