[LLVMdev] Pass and return of large objects
Dale Johannesen
dalej at apple.com
Mon Mar 1 15:07:23 PST 2010
On Mar 1, 2010, at 2:49 PMPST, Russell Wallace wrote:
> On Mon, Mar 1, 2010 at 6:00 PM, Dale Johannesen <dalej at apple.com> wrote:
>> No, C only requires support for objects up to 65535 bytes in size. C99 5.2.4.1.
>
> 65535 bytes would be reasonably sufficient; what's the largest
> supported by the LLVM code generator?
The common code shouldn't have problems with it AFAIK. How well it works on a particular target/ABI combination depends on whether anybody has been interested enough to implement it; free software is like that, I'm afraid. But you are not likely to run into a limitation based on size; if it works for an object of size 50 or so it should work for a bigger one.
On any target/ABI combination you may run into runtime stack overflows if you try to do too much, particularly if recursion is involved (as Anton mentioned). This is not a compiler issue, but a limitation of the target environment.
More information about the llvm-dev
mailing list