similar to: [LLVMdev] Error on using DataStructureAnalysis

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Error on using DataStructureAnalysis"

2011 Jul 06
1
[LLVMdev] Error on using DataStructureAnalysis
Hi, though DSA isn't maintained in the current build, I need to use it for analyzing dependencies among functions. Therfore I load the EQTDDataStructures pass and retrieve the mapping from nodes int the callee to the ones in the parent DSGraph with computeNodeMapping. In most cases this works well, but for some function calls I get following error: DSGraph.cpp:1379: static void
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
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
2008 Apr 03
2
[LLVMdev] problem with using DSA for a side-effect analysis
Hi, I am using DSA in the project I am working on. Currently, I am working on automatic inference of function frame conditions to be used in the modular verification tool for C I am developing. Here is a part of my algorithm I am not exactly sure how to do: Let's say function foo calls function bar, and they have corresponding DSGraphs DSG_foo and DSG_bar. Function bar modifies some memory
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
2008 Apr 03
0
[LLVMdev] problem with using DSA for a side-effect analysis
On Thu, Apr 3, 2008 at 12:29 PM, Zvonimir Rakamaric <zrakamar at gmail.com> wrote: > Currently I am using DSGraph::computeNodeMapping to do the task, but I > am not sure if that's the way to go.... I believe that is the correct function to use. Andrew
2008 Apr 03
1
[LLVMdev] problem with using DSA for a side-effect analysis
Andrew, there used to be some code to compute the ModRef behavior of functions using DS graphs. Does that code still exist in svn? What Zvonimir is asking is essentially that, although perhaps he needs it as DS nodes explicitly rather than via the generic queries in the AliasAnalysis interface. --Vikram http://www.cs.uiuc.edu/~vadve http://llvm.org/ On Apr 3, 2008, at 12:45 PM,
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
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 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
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 28
2
[LLVMdev] Breakage in CVS?
The following function produces a segv when the begin() is taken from vmap, the ScalarMap... bool StaticMemAnalysis::isSingleMalloc(DSGraph* theGraph,DSNode* theNode) { int count = 0; std::map<Value*, DSNodeHandle>& vmap = theGraph->getScalarMap(); for (std::map<Value*, DSNodeHandle>::iterator i = vmap.begin(); i != vmap.end(); ++i) { if(i->second.getNode() ==
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
2013 Mar 04
0
[LLVMdev] Unexpected DSAnalysis behavior
On 3/4/13 8:05 AM, Kevin Streit wrote: > Hi, > > during the hunt for a bug causing strange behavior of our automatic > parallelization framework, > I found some, at least for me, unexpected behavior of the > DataStructureAnalysis in Poolalloc. > > Consider the following simplified program: > > ==================== > int ARR[4] = {1, 2, 3, 4}; > > int a(int
2013 Mar 04
2
[LLVMdev] Unexpected DSAnalysis behavior
Hi, during the hunt for a bug causing strange behavior of our automatic parallelization framework, I found some, at least for me, unexpected behavior of the DataStructureAnalysis in Poolalloc. Consider the following simplified program: ==================== int ARR[4] = {1, 2, 3, 4}; int a(int pos) { return ARR[pos]; } int sum(int op_a, int op_b) { return a(op_a) + a(op_b); } int
2006 Dec 01
0
[LLVMdev] DSGraph::computeCalleeCallerMapping failing
I tried with bugpoint, but it still give a large code. I have attached the bugpoint output file. ---- Original message ---- >Date: Fri, 1 Dec 2006 12:57:55 -0600 >From: "Andrew Lenharth" <andrewl at lenharth.org> >Subject: Re: [LLVMdev] DSGraph::computeCalleeCallerMapping failing >To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu> >
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Harmen, your suggestion of inverting the mapping almost worked (and Andrew was correct that the function I need is the same as the one in which poolinit appears). Unfortunately, it appears that this mapping only considers the original function and not any of its clones. Since the pool descriptor in question may very well only exist in a clone, I can't use this. Is there another way?
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 instruction, you must call PA::FuncInfo::MapValueToOriginal(
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