[all-commits] [llvm/llvm-project] 28857d: [WebAssembly] Split and recombine multivalue calls...
Thomas Lively via All-commits
all-commits at lists.llvm.org
Tue Jan 21 11:31:37 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 28857d14a86b1e99a9d2795636a5faf17674f5a2
https://github.com/llvm/llvm-project/commit/28857d14a86b1e99a9d2795636a5faf17674f5a2
Author: Thomas Lively <tlively at google.com>
Date: 2020-01-21 (Tue, 21 Jan 2020)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
Log Message:
-----------
[WebAssembly] Split and recombine multivalue calls for ISel
Summary:
Multivalue calls both take and return an arbitrary number of
arguments, but ISel only supports one or the other in a single
instruction. To get around this, calls are modeled as two pseudo
instructions during ISel. These pseudo instructions, CALL_PARAMS and
CALL_RESULTS, are recombined into a single CALL MachineInstr in a
custom emit hook.
RegStackification and the MC layer will additionally need to be made
aware of multivalue calls before the tests will produce correct
output.
Reviewers: aheejin, dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71496
More information about the All-commits
mailing list