[PATCH] D88325: IR: Reject unsized sret in verifier
John McCall via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 16 09:28:34 PST 2022
rjmccall added a comment.
Inconsistency between things that are different is expected. `byval` intrinsically requires a sized type because the compiler has to know how large of an object to allocate + copy in the argument area. `sret` does not require a type on any target I know of, and if there are places that expect the type to be meaningful, they are almost certainly buggy in the presence of dynamically-sized types. While C has only very restricted support for dynamically-sized types, I believe Fortran's support is broader, and so psABIs usually nod at them in various ways — it's not something that's novel to Swift.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88325/new/
https://reviews.llvm.org/D88325
More information about the llvm-commits
mailing list