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>