[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