[all-commits] [llvm/llvm-project] 72a723: [WebAssembly] Mark @llvm.wasm.shuffle lane indices...
Thomas Lively via All-commits
all-commits at lists.llvm.org
Fri May 5 08:12:55 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 72a72315b052180a7df90a26000fdca4ef09dd94
https://github.com/llvm/llvm-project/commit/72a72315b052180a7df90a26000fdca4ef09dd94
Author: Thomas Lively <tlively at google.com>
Date: 2023-05-05 (Fri, 05 May 2023)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
Log Message:
-----------
[WebAssembly] Mark @llvm.wasm.shuffle lane indices as immediates
This intrinsic is meant to lower directly to the i8x16.shuffle instruction,
which takes its lane index arguments as immmediates. The ISel for the intrinsic
assumed that the lane index arguments were constants, so bitcode that
"incorrectly" used this intrinsic with non-immediate arguments caused an
assertion failure in the backend.
Avoid the crash by defining the lane index arguments to be immediates, matching
the underlying instruction. Update ISel accordingly. This change means that the
bitcode that previously caused a crash will now fail to validate.
Fixes #55559.
Reviewed By: dschuff
Differential Revision: https://reviews.llvm.org/D149898
More information about the All-commits
mailing list