Getting size of array allocations


Pardon me if the terminology I use is off, I'm new to this.
Given a statement
int a[10];
llvm-gcc generates the following alloca instruction:
%a = alloca [10 x i32]
This is different than the type of instruction generated by the AllocaInst
constructor, which is of the type:
%a = alloca i32, i32 10

Now, how do I go about extracting '10' as the array size from the first
alloca instruction? isArrayAllocation returns false and getArraySize returns


As a guess, get the type of the first alloca instruction, [10 x i32],
and get the number of elements from the array type, rather than from
the alloca instruction.

Thanks a lot. That worked well.

me22 wrote: