[LLVMdev] Alloca instructions in NON-entry block?
Eric Christopher
echristo at apple.com
Thu Mar 29 10:10:12 PDT 2012
On Mar 29, 2012, at 9:45 AM, John Criswell <criswell at illinois.edu> wrote:
> 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).
Correct :)
-eric
More information about the llvm-dev
mailing list