Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] Re: questions (fwd)"
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
2006 Dec 01
1
[LLVMdev] DSGraph::computeCalleeCallerMapping failing
I was trying to call "DSGraph::computeCalleeCallerMapping" function on all caller-calle pair. But, in one case it gives an assertion failure. This is the error message I get.
Processing internal callee function rt_error
opt: /localhome/ssahoo2/llvm/src/lib/Analysis/DataStructure/DataStructure.cpp:2248: static void llvm::DSGraph::computeNodeMapping(const llvm::DSNodeHandle&, const
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 24
4
[LLVMdev] globals in DS graph
I have some questions regarding how globals are represented in DS graph.
Specifically, I wrote the following simple program:
List *g;
void alloc_func(){
g = ( List* ) malloc( sizeof( List ) );
}
void free_func(){
free( g );
}
int main(){
alloc_func();
free_func();
}
I noticed that the DSnode for g in alloc_func is different from that of
free_func and NEITHER of them had GlobalNode
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 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
2
[LLVMdev] question
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: *** [Debug/MemLeakage.o] Error 1
I don't
2002 Nov 25
3
[LLVMdev] globals in DS graph
Ganesh,
I modified DataStructure.cpp so that global nodes are no longer
removed from any graphs. Only that file has changed.
Chris, if you get a chance to do this, it would be nice if you could
take a quick look at the change I made and make sure that's all that's
needed.
Thanks,
--Vikram
http://www.cs.uiuc.edu/~vadve
> From: Chris Lattner <sabre at nondot.org>
>
2002 Nov 24
0
[LLVMdev] DSGraph::mergeInGraph usage?
I've been trying to merge DSGraphs from different Functions, but i'm
not going anywhere. For a Function F and DSGraph G, I tried this
(assumming no SCC in the callgraph):
vector<DSCallSite> CSV = G->getAuxFunctionCalls();
for (vector<DSCallSite>::iterator I = CSV.begin(), E = CSV.end();
I != E; I++) {
Value *V = I->getCallInst().getOperand(0);
Function &SF
2008 Apr 03
3
[LLVMdev] problem with using DSA for a side-effect analysis
Thanks guys!
I was looking into ModRef before, but I don't think that's exactly
what I need. ModRef API call getModRefInfo requires a Value to be
passed to it. However, some memory location M (which is a <DSNode,
offset> pair) visible to the caller can be modified in the callee
without any Value in the caller actually pointing to that location. I
also need to capture those...
I
2002 Oct 28
3
[LLVMdev] Alias for reporting LLVM bugs or patches
We have created a new alias -- llvmbugs at cs.uiuc.edu. Please use this
for reporting bugs or turning in patches for LLVM. Any such feedback
would be appreciated!
Please continue to use llvmdev to post questions or have discussions
about LLVM.
--Vikram
http://www.cs.uiuc.edu/~vadve
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,
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
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 10
2
[LLVMdev] Find mallocs from a DSNode
Chris Lattner wrote:
> > 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.
>
> You're right, you have to iterate over the program, looking to see what
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,
2011 Aug 16
0
[LLVMdev] llvm-poolalloc DSA patch: code cleanups and thread safety
Hello,
I have a patch to DSA you may be interested in. I thought I'd post this to
llvmdev so it will be archived and googeable in case others need it, even if
you decide to not merge this into mainline :-) Here are the highlights:
* I refactored StdLibDataStructures::processFunction into processFunction
and processCallSite to remove a lot of copy/pasted code. I also moved the
libAction