similar to: [LLVMdev] Re: questions (fwd)

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