[LLVMdev] variable size alloca

John Criswell criswell at uiuc.edu
Tue Sep 16 18:34:49 PDT 2008


Ryan M. Lefever wrote:
> To what do variable size LLVM alloca instructions get translated, when
> they are turned into machine code?  I compiled a piece of code to
> bitcode and disassembled it.  The disassembled code showed that there
> were alloca instructions with variable-sized parameters within the
> bitcode.  When I turned the bitcode into machine code, I performed an nm
> on the result but didn't see any symbols referring to alloca.  So, I'm
> guessing that they don't get translated to an alloca system call.  If
> that's the case, to what do they get translated?
>   
It's been a long time since I've looked at machine code generated by 
LLVM, but if I had to guess, I think it should be lowered into an 
instruction that adjusts the stack pointer.  All alloca does is allocate 
stack space; an adjustment of the stack pointer (on x86, decreasing it) 
should suffice once the size of the allocation has been computed.

-- John T.

> Regards,
> Ryan
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>   




More information about the llvm-dev mailing list