search for: dsnodes

Displaying 20 results from an estimated 101 matches for "dsnodes".

Did you mean: dsnode
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...r only existed in the clone. I'm fine with the DSNode being the original function's DSNode -- in fact, I need that -- but I'm really at a loss as to how to get out of this catch-22. --Patrick On 03/19/10 04:10, Harmen van der Spek wrote: > Hi Patrick, > > That's right. DSNodes are coupled to the original function. For function clones, you first need > to get the original function, and then use the DSNode from that function. FuncInfo > contains the information if a function is a clone and what the original function is. > > If you want to find the corresponding...
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...clones. Since the pool descriptor in question may very well only exist in a clone, I can't use this. Is there another way? Thanks, --Patrick Harmen van der Spek wrote: > You might want to have a look at PoolAllocate.h. > > Per function, a PA::FuncInfo structure keeps track of all DSNodes that > should be pool allocated. ArgNodes contains pool arguments, NodesToPA > contains nodes that are locally pool allocated and thus initialized > using poolinit. > > PoolDescriptors contains a mapping from DSNodes to pool descriptors, and > you could easily invert this mappin...
2017 May 24
3
GraphTraits dereferencing
Hello, I’m trying to port a project up to 4.0 and I’m seeing the following error: In file included from /Users/jaredcarlson/Projects/llvm-4.0.0.src/include/llvm/ADT/StringRef.h:13: /Users/jaredcarlson/Projects/llvm-4.0.0.src/include/llvm/ADT/STLExtras.h:139:13: error: no type named 'type' in 'std::__1::result_of<std::__1::pointer_to_unary_function<llvm::DSNode *, llvm::DSNode
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Hi Patrick, That's right. DSNodes are coupled to the original function. For function clones, you first need to get the original function, and then use the DSNode from that function. FuncInfo contains the information if a function is a clone and what the original function is. If you want to find the corresponding DSNode for some in...
2002 Nov 10
3
[LLVMdev] DSGraph questions
1. What is the difference between DSNodeHandle and DSNode? What do the functions getLink() and getSize() do? 2. In the previous email, you mentioned that we can use DSNode::getPointerSize() to get the number of links, But I checked the doxygen documentation, there is no such member for DSNode. 3. Previously I use the following code: for( df_iterator<DSNode*> I = df_begin(pnode),
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...l, map that pointer from the clone back to the original function, and then look up its DSNode. However, before you do that, can you tell us why you need this functionality? Since things are getting complicated, it may be worthwhile to first understand if your approach of mapping Pools to the DSNodes from which they were created is the correct approach for what you are doing. If, for example, you need to know whether a pool is a type-homogeneous, then an easier method would be to modify poolinit() to pass an argument containing DSNode information (such as a flag indicating type-homogeneity...
2010 Mar 17
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
You might want to have a look at PoolAllocate.h. Per function, a PA::FuncInfo structure keeps track of all DSNodes that should be pool allocated. ArgNodes contains pool arguments, NodesToPA contains nodes that are locally pool allocated and thus initialized using poolinit. PoolDescriptors contains a mapping from DSNodes to pool descriptors, and you could easily invert this mapping. Finding a corresponding D...
2010 Mar 16
4
[LLVMdev] Getting the DSNode from a Pool Descriptor?
I figure (hopefully correctly) that I can iterate over all pool descriptors in a program by iterating over all users of poolinit and looking at the first argument. However, once I have a pool descriptor, I need to get its corresponding DSNode in the function in which it is complete (or in the global graph if it is a global). How do I do this? Thanks, --Patrick
2002 Nov 10
2
[LLVMdev] Find mallocs from a DSNode
Is there some efficient way to find the malloc instructions which point to the memory represented by a DSNode? Right now the only way I see is by iterating through the value map in the DSGraph object and finding every value that points to my DSNode. A possibly related question: is there a way to tell that the node has been merged, and if so, what types of nodes went into the merge? Thanks,
2010 Mar 19
1
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...clone back to the original function, and then look up > its DSNode. > > However, before you do that, can you tell us why you need this > functionality? Since things are getting complicated, it may be > worthwhile to first understand if your approach of mapping Pools to > the DSNodes from which they were created is the correct approach for > what you are doing. If, for example, you need to know whether a pool > is a type-homogeneous, then an easier method would be to modify > poolinit() to pass an argument containing DSNode information (such as > a flag indicat...
2002 Nov 11
1
[LLVMdev] DSGraph questions
Dear Prof. Adve, I recently checked out the llvm using cvs update command under the llvm directory. But when I went to see the DSNode.h, there is no getPointerSize function. I checked the doxygen tree, it's there. So that means I didn't update my cvs tree correctly. Could you let me know how to update my CVS tree? Or there is a problem at somewhere else? Thanks, xiaodong On Sun, 10 Nov
2002 Nov 08
1
[LLVMdev] Iterating on the DSGraph... (fwd)
I use the following code to do the depth first search on the DSGraph. And I always got this error message. Couldn't figure out what's wrong. Could you please let me know? Besides, I really have no idea about what those functions do. Is there any documentation about DSGraph functions besides the pool allocation paper? Thanks, xiaodong Code: for( df_iterator<DSNode*> I =
2002 Nov 16
5
[LLVMdev] question
Thanks Bill. One more question, when I use the DSNode iterator to traverse a node's children. The return value of I.getNode() can only be 'const DSNode *', I cannot use 'DSNode *' type. So as a result, I always get error message like this: MemLeakage.cpp:159: invalid conversion from `const DSNode*' to `DSNode*' MemLeakage.cpp:159: initializing argument 1 of `void
2002 Nov 18
0
[LLVMdev] Fixed DSGraph iteration, depth first search, etc...
The following now works for me: const DSNode *N1 = ...; df_iterator<const DSNode*> X1 = df_begin(N1), XE1 = df_end(N1); DSNode *N2 = ...; df_iterator<DSNode*> X2 = df_begin(N2), XE2 = df_end(N2); You need the following #includes: #include "Support/DepthFirstIterator.h" #include "llvm/Analysis/DSGraphTraits.h" You need this patch:
2002 Nov 10
2
[LLVMdev] Find mallocs from a DSNode
...> > to the memory represented by a DSNode? Right now the only way I see is > > by iterating through the value map in the DSGraph object and finding > > every value that points to my DSNode. > > You're right, you have to iterate over the program, looking to see what > DSNodes the Malloc instructions point to. This is intentional: keeping > track of this information would cause a huge representational problem. > Sorry :) Fair enough. > > A possibly related question: is there a way to tell that the node has > > been merged, and if so, what types of no...
2002 Nov 10
0
[LLVMdev] Find mallocs from a DSNode
...loc instructions which point > to the memory represented by a DSNode? Right now the only way I see is > by iterating through the value map in the DSGraph object and finding > every value that points to my DSNode. You're right, you have to iterate over the program, looking to see what DSNodes the Malloc instructions point to. This is intentional: keeping track of this information would cause a huge representational problem. Sorry :) > A possibly related question: is there a way to tell that the node has > been merged, and if so, what types of nodes went into the merge? Yup, DSN...
2002 Nov 10
0
[LLVMdev] DSGraph questions
I'll try to answer these because Chris is really busy this week. > From: Xiaodong Li <xli3 at santoor.cs.uiuc.edu> > Subject: [LLVMdev] DSGraph questions > Sender: llvmdev-admin at cs.uiuc.edu > Date: Sun, 10 Nov 2002 11:25:53 -0600 (CST) > > 1. What is the difference between DSNodeHandle and DSNode? What do the > functions getLink() and getSize() do?
2009 Aug 07
2
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
...uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > The program I'm analyzing is not dereferencing NULL pointers. I'm querying the EquivBUDataStructures pass; what instances would cause the DSGraph not to have any information about the pointer (and I thought Unknown DSNodes were created for when we couldn't figure out the pointer value?). Thanks, --Patrick
2009 Aug 28
1
[LLVMdev] DSNodes for main() neither complete nor global?
Hi, I'm noticing that there are some DSNodes in main() that are neither complete nor global. Specifically, a heap DSNode that is used but not free()d in main() is not marked complete. This is not the only case I'm noticing, but it's the only case I'm noticing for nodes that are actually used by instructions in the function....
2016 Dec 17
2
How to ask MustAlias queries from DSA results
Hello, everyone! I'm writing an automatic memory leak fixing tool recently. For my task, I'm using the DSA (Data Structure Analysis) for alias analysis. In my task, when I detect a memory leak, I need to find a pointer (in C) 'must-alias' with the corresponding resource. In DSA, I think if two Value* point to the same DSNode, they 'may-alias'. If two Value* point to