[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