[LLVMdev] Pass and return of large objects

Russell Wallace russell.wallace at gmail.com
Mon Mar 1 07:58:54 PST 2010


Well yes, LLVM is Turing complete :-) but I take your point, one could
in a pinch hack the same functionality in the front-end. Would that
likely be easier or harder than doing it properly in the code
generator? Other things equal, of course the latter would be
preferable.

How do LLVM-GCC and Clang handle it?

On Mon, Mar 1, 2010 at 3:36 PM, Duncan Sands <baldrick at free.fr> wrote:
> 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