similar to: [LLVMdev] question

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] question"

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 16
0
[LLVMdev] question
Also sprach Xiaodong Li: } } When I tried to compile the program, I got this error: } } ../../../include/llvm/Analysis/DSGraph.h: In member function `virtual bool } <unnamed>::GlobalMemLeakage::run(Module&)': } ../../../include/llvm/Analysis/DSGraph.h:38: `void } DSGraph::operator=(const } DSGraph&)' is private } MemLeakage.cpp:87: within this context } gmake: ***
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 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 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),
2002 Nov 16
0
[LLVMdev] question
Also sprach Xiaodong Li: } 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:
2002 Nov 20
2
[LLVMdev] getScalarMap
> ...... > DSGraph* DSG = getAnalysis<BUDataStructures>().getDSGraph( F ); > std::map< Value*, DSNodeHandle> scalarmap = DSG->getScalarMap(); > ...... > > The scalarmap is always empty. I printed the size of the map which came > out to be zero always. But the getNodeForValue works correctly for the > same DSG, which means that the scalarmap cannot be
2002 Nov 15
2
[LLVMdev] DSGraph question
Dear LLVM, If I have a DSGraph dsg, I want to duplicate a DSgraph which is exactly the same with dsg. How should I do that? Should I use DSGraph dsg2 = dsg; or use some other methods? Thanks, xiaodong
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
2002 Nov 21
2
[LLVMdev] get TopDown DSGraph
Dear LLVM, I was wondering if this is the right way to get TopDown DSGraph? TDDataStructures &TD = getAnalysis<TDDataStructures>(); F is some function DSGraph &dsg = TD.getDSGraph(F); I found out the DSGraph I got using this method is actually bottom up DSGraph, can you let me know why? Thanks, xiaodong
2002 Nov 12
2
[LLVMdev] (no subject)
Dear LLVM, I need to do interprocedural analysis for my project. I was wondering if you can tell me how to create Bottom Up DSGraph and Call Graph in the program. I know DSGraph *dsg = new DSGraph( F ) can create a DSGraph, but looks like that's only local DSGraph. I also need to know how to create the call graph for the whole module in the program. Thanks, xiaodong
2002 Nov 21
1
[LLVMdev] get TopDown DSGraph
Thanks, Chris. Actually I got the following graph from my program: digraph DataStructures { label="Function fini"; edge [arrowtail="dot"]; size="10,7.5"; rotate="90"; Node0x100ae1c40 [shape=record,shape=Mrecord,label="{ %struct.a: HIMR\n|{<g0>|<g1>|<g2>}}"]; Node0x100ae1c40:g1 -> Node0x100ae1e00;
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,
2009 Aug 07
2
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
Andrew Lenharth wrote: > On Fri, Aug 7, 2009 at 4:45 PM, Patrick Alexander > Simmons<simmon12 at cs.uiuc.edu> wrote: > >> I'm iterating over all LoadInst and StoreInst-type Instructions in a >> Function, and getNodeForValue() is sometimes returning NULL. Why is >> this happening? Shouldn't every load from or store to memory correspond >> to some
2009 Aug 07
0
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
Patrick Alexander Simmons wrote: > Andrew Lenharth wrote: > >> On Fri, Aug 7, 2009 at 4:45 PM, Patrick Alexander >> Simmons<simmon12 at cs.uiuc.edu> wrote: >> >> >>> I'm iterating over all LoadInst and StoreInst-type Instructions in a >>> Function, and getNodeForValue() is sometimes returning NULL. Why is >>> this
2002 Nov 20
2
[LLVMdev] getScalarMap
> I tried to used the getScalarMap function of the DSGraph to get the nodes > that the scalars point to in a function. But the getScalarMap returns a > null map always. Is there any problem in the getScalarMap function or is > there any "protocol" to be followed while using the function? DSGraph::getScalarMap returns a reference to the map, so this cannot be null. Do you
2009 Jun 10
2
[LLVMdev] Pool Allocation and DSA
Thank you, and I apologize for conflating the two passes. My main remaining concern is about what happens when there is a node in a function's DSGraph that points to a pool (or pools, if there are multiple callers) that is not in the DSGraph of that function. For example, on page 3 of the 2005 PLDI paper, the DSGraph given for createnode(), Data is pointing to an unlabeled node in the
2009 Aug 07
2
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
John Criswell wrote: > You can sometimes get NULL DSNodes if a previously-run transform pass > adds pointers to the program but doesn't update DSA while claiming to > preserve it. The pool allocation pass, for example, does this: it > claims to preserve the DSA results (when used for SAFECode) but doesn't > properly update the DSGraph when it adds pool handles. Therefore,
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Thanks for all your help so far. My problem is that what I have are the pool descriptors, which I by traversing the uses of poolinit and accessing the first argument of each call. I need to find the DSNode (in the original function) to which this pool descriptor corresponds. The rub is that this pool descriptor of course does not exist except in the clone. If I call getFuncInfo(), I get a
2009 May 29
1
[LLVMdev] DSA nodes do not get merged
Hi all, I just ran into a strange problem. When using the Equivalence-class Bottom-up Data Structure Analysis pass and pool allocation, I noticed some objects using different pool descriptors where I expected them to be in the same pool. We use svn revision 66285 of the DSA. The following 2 programs expose the problem. First the version that runs correctly, ie. producing a single DSNode.