[clang] [clang][WebAssembly] Return aggregate values indirectly in swiftcc by default (PR #168652)
Yuta Saito via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 20 01:54:14 PST 2025
kateinoigakukun wrote:
@dschuff Yeah, I explored the EMV ABI too. The SwiftCC already flattens aggregate-type arguments into multiple core value arguments (up to 4 values per argument), so arguments are already multiple.
On the other hand, multivalue return is very critical for us because our frontend codegen assumes targets have at least two direct return registers, and it brought us some arch-specific complexities and inefficiencies in the frontend codegen. So I'm very interested in using multivalue returning feature for our calling convention but as you said, I saw several miscompilations (e.g. https://github.com/llvm/llvm-project/issues/98323, https://github.com/llvm/llvm-project/issues/98323) so we need some effort to make it happen, but I'll try to find some time for it.
https://github.com/llvm/llvm-project/pull/168652
More information about the cfe-commits
mailing list