[LLVMdev] Pass and return of large objects

Duncan Sands baldrick at free.fr
Mon Mar 1 07:36:34 PST 2010


Hi Russel,

> Are there any plans to change this? It's needed for a correct
> implementation of C, after all.

I guess it will happen when someone needs it enough.  My understanding is that
it wouldn't be hard to implement for most processors.  By the way, you are wrong
to say that it is needed for a correct implementation in C.  Here's an analogy:
consider the x86 instruction set.  It does not have an instruction for returning
arbitrarily large arrays.  In fact it doesn't have any instructions for
manipulating arrays or structs at all.  Even worse, it doesn't even have a
notion of function!  So clearly C programs cannot run on x86 processors!  Yet
still they do, how can this be?  The same answer applies to LLVM.

Ciao,

Duncan.



More information about the llvm-dev mailing list