[LLVMdev] Alloca instructions in NON-entry block?

John Criswell criswell at illinois.edu
Thu Mar 29 09:45:53 PDT 2012


On 3/29/12 11:32 AM, Paul J. Lucas wrote:
> The Kaleidoscope example here:
>
> 	http://llvm.org/docs/tutorial/LangImpl7.html#adjustments
>
> defines a CreateEntryBlockAlloca() helper function that "ensures that the allocas are created in the entry block of the function."
>
> It's kid of implied, but I thought I'd ask explicitly: *must* alloca instructions be created in the entry block of a function?

I believe that an alloca can occur in any basic block, but I think code 
generation is more efficient if the allocas are in the entry block (the 
code generator can insert a single instruction to adjust the stack 
pointer, thus allocating all stack objects in the entry block with a 
single machine instruction).

-- John T.

>
> - Paul
>
>
> _______________________________________________
> 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