[llvm] [WebAssembly] Enable multivalue return when multivalue ABI is used (PR #88492)
Heejin Ahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 12 17:22:25 PDT 2024
aheejin wrote:
This is effectively a backend-only change and it controls non-libcall multivalue return lowering too (See changes in `WebAssemblyISelLowering.cpp` and `WebAssemblyMachineFunctionInfo.cpp`). We talked about how to relay the frontend's ABI info to the backend but in turned out it was already being passed in `MCTargetOptions`.
This will affect compilation of bitcode files that have struct returns and multivalue-returning invokes (which I tried to ban in #86048). In practice, as you said, unless someone compiles struct-returning bitcode, multivalue returns will not be generated. (And we don't plan to support multivalue-returning invokes in near future) But this change per se doesn't necessarily only apply to libcalls.
https://github.com/llvm/llvm-project/pull/88492
More information about the llvm-commits
mailing list