Hey Devang, Thanks for the assist, I'm trying to extract a signature which uniquely identifies a block of code.... this is required for a project I am doing. The no of data structures is one of the identifying features of this signature. Thanks Nipun On Fri, Oct 31, 2008 at 1:05 PM, Devang Patel <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 http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > - > Devang > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081102/b7ccb489/attachment.html>
How do you define a data structure for this purpose? Do you mean individual data types like structs or arrays? Or higher-level "logical" structures like lists, trees, or hash tables? The former is obviously easier but even the latter is possible, in some cases. --Vikram Associate Professor, Computer Science University of Illinois at Urbana-Champaign http://llvm.org/~vadve On Nov 2, 2008, at 12:55 AM, Nipun Arora wrote:> Hey Devang, > > Thanks for the assist, I'm trying to extract a signature which > uniquely identifies a block of code.... this is required for a > project I am doing. > The no of data structures is one of the identifying features of this > signature. > > Thanks > Nipun > > > On Fri, Oct 31, 2008 at 1:05 PM, Devang Patel <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 http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > - > Devang > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > <ATT00001.txt>
Right now I am writing passes just to look for arrays & structs I am trying to identify the array by parsing the memory description(use regex's) ex./ { [20 x i8], i32 } *- for a struct. is a structure with a character array of size 20 and an integer. I'm not sure if llvm provides an easier way to do this? The type id for most arrays comes out to be a pointer rather than an array, its pretty much the same case for structs. I haven't yet been able to extend this to "logical" structures, and objects still looking into it. Any ideas? Thanks Nipun On Sun, Nov 2, 2008 at 4:57 PM, Vikram S. Adve <vadve at cs.uiuc.edu> wrote:> How do you define a data structure for this purpose? Do you mean > individual data types like structs or arrays? Or higher-level > "logical" structures like lists, trees, or hash tables? The former is > obviously easier but even the latter is possible, in some cases. > > --Vikram > Associate Professor, Computer Science > University of Illinois at Urbana-Champaign > http://llvm.org/~vadve > > > > On Nov 2, 2008, at 12:55 AM, Nipun Arora wrote: > > > Hey Devang, > > > > Thanks for the assist, I'm trying to extract a signature which > > uniquely identifies a block of code.... this is required for a > > project I am doing. > > The no of data structures is one of the identifying features of this > > signature. > > > > Thanks > > Nipun > > > > > > On Fri, Oct 31, 2008 at 1:05 PM, Devang Patel <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 http://llvm.cs.uiuc.edu > >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > - > > Devang > > > > > > > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > > > <ATT00001.txt> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081102/3b4d9651/attachment.html>