[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
Loading
Please sign in to comment