[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