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.