[LLVMdev] No of Datastructures
John Criswell
criswell at uiuc.edu
Wed Nov 5 06:07:16 PST 2008
Nipun Arora wrote:
> Hi
>
> I was having just one more problem. I would like to find these
> datastructures/ primitive types etc inside a block, however the
> valuesymbol table is available only at a functional level. What can I
> do so as to get the number + type of datastructs(eg. arrays etc)
> inside a single block?
If by block you mean a source level block (such as the brackets {} in
C), then you can examine the bitcode file for use of the LLVM Debugging
Intrinsics. I believe llvm.dgb.region.start marks the beginning of a
source level block.
Basically, the debugging intrinsics mark the beginning and end of blocks
and can map information back to the original source file. To get
llvm-gcc to emit them, just use llvm-gcc -emit-llvm -g.
Information on the LLVM debugging intrinsics can be found here:
http://llvm.org/docs/SourceLevelDebugging.html
-- John T.
>
>
> Thanks
> Nipun
>
> On Fri, Oct 31, 2008 at 12:05 PM, Devang Patel <dpatel at apple.com
> <mailto:dpatel at apple.com>> wrote:
>
> Hi Nipun,
>
> On Oct 30, 2008, at 9:31 PM, Nipun Arora wrote:
>
>> Hi
>>
>> I am trying to count the no of datastructures and the type, say
>> for example the number of arrays in a given code. Which pass
>> would give me this info? And what do I need to use in it?
>
> What are you trying to achieve here with this information ?
>
> You can iterate over types to collect the info you need. For example,
>
> TypeSymbolTable &TST = MyModule.getTypeSymbolTable();
> for(TypeSymbolTable::iterator TI = TST.begin(), TE =TST.end(); TI
> != TE; ++TI) {
> const Type *Ty = TI->second;
> ...
> }
>
> http://llvm.org/docs/ProgrammersManual.html is very useful
> document for beginners.
>
>>
>> Thanks for the help
>>
>> Cheers
>> Nipun :)
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
>> http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> -
> Devang
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto: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