search for: scalarmap

Displaying 16 results from an estimated 16 matches for "scalarmap".

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 empty. But we always > have an empty scalar...
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 ret...
2002 Nov 20
0
[LLVMdev] getScalarMap
...mpty map. We also saw that Scalar Type has been removed from the DSNode types. Why is that? Thanks, Ganesh On Wed, 20 Nov 2002, Chris Lattner wrote: > > ...... > > 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 empty. But we always...
2002 Nov 20
0
[LLVMdev] getScalarMap
Specifically we did the following: ...... 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 empty. But we always have an empty scalarmap being returned. Thanks,...
2002 Nov 20
3
[LLVMdev] getScalarMap
> We tried that too...but still it returns an empty map. I'm not sure what's going on then. :) I think that Vikram is planning to update CVS soon, you might try that, as there has been significant updates. I'm not sure why getNodeForValue would work for you but getScalarMap doesn't... getNodeForValue USES the scalar map! :) > We also saw that Scalar Type has been removed from the DSNode types. Why > is that? Originally, LLVM values were represented in the DSGraph as DSNodes with the Scalar field set. Thus you would have something like this: X: ( int*%X...
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()...
2002 Nov 28
2
[LLVMdev] Breakage in CVS?
On Thu, 28 Nov 2002, Chris Lattner wrote: > > > The following function produces a segv when the begin() is taken from > > vmap, the ScalarMap... > > int count = 0; > > std::map<Value*, DSNodeHandle>& vmap = theGraph->getScalarMap(); > > Are you sure "theGraph" is not null at this point? yes... that call returns sucessfully. the segfault occurs after... > > -Chris > > > for (s...
2010 Dec 13
1
[LLVMdev] How can I determine safely if a CallSite is "live" in a DSGraphs context
...he "i16* null" argument. So it obviously > >> thinks it should have a node for that value (since > >> shouldHaveNodeForValue(i16* null) returns true) and thus calls > >> getNodeForValue, which raises the error (The node is not contained in > the > >> ScalarMap). > >> > >> I tried to verify if I'm using the analysis correctly by invoking the > >> poolalloc tool on the program which raises a completely different error. > >> > >> So under which circumstances is it safe to call > getDSCallSiteForCallSite? &...
2009 Jun 09
0
[LLVMdev] Pool Allocation and DSA
...les) where each node represents a set of memory objects and the edges represent pointers within one memory object that point to another memory object (i.e. if node A points to node B, that means a field in one of the objects in node A points to an object in node B). The DSGraph also contains a ScalarMap which maps LLVM Values to nodes in the graph (these nodes are called DSNodes). DSA is somewhat special because it attempts to disambiguate different linked data structures within programs (hence the name Data Structure Analysis, or DSA). Automatic Pool Allocation (APA) is a transform that is...
2009 Jun 10
2
[LLVMdev] Pool Allocation and DSA
...represents a set of > memory objects and the edges represent pointers within one memory object > that point to another memory object (i.e. if node A points to node B, > that means a field in one of the objects in node A points to an object > in node B). The DSGraph also contains a ScalarMap which maps LLVM > Values to nodes in the graph (these nodes are called DSNodes). DSA is > somewhat special because it attempts to disambiguate different linked > data structures within programs (hence the name Data Structure Analysis, > or DSA). > > Automatic Pool Allocation...
2009 Jun 08
2
[LLVMdev] Pool Allocation and DSA
I don't really have a specific question, but, as I've been looking through pool allocation and the DS graphs extensively, I wanted to verify that my understanding of the representations used is correct. Therefore, I'm summarizing my understanding below (which, if it's correct, may hopefully be helpful to others). I would appreciate if someone who understands pool allocation
2010 Dec 13
0
[LLVMdev] How can I determine safely if a CallSite is "live" in a DSGraphs context
...thod tries to get the DSNode (via getNodeForValue(...)) for the "i16* null" argument. So it obviously thinks it should have a node for that value (since shouldHaveNodeForValue(i16* null) returns true) and thus calls getNodeForValue, which raises the error (The node is not contained in the ScalarMap). I tried to verify if I'm using the analysis correctly by invoking the poolalloc tool on the program which raises a completely different error. So under which circumstances is it safe to call getDSCallSiteForCallSite? Or stated otherwise: Should shouldHaveNodeForValue() return true for a Co...
2002 Nov 28
0
[LLVMdev] Breakage in CVS?
> The following function produces a segv when the begin() is taken from > vmap, the ScalarMap... > int count = 0; > std::map<Value*, DSNodeHandle>& vmap = theGraph->getScalarMap(); Are you sure "theGraph" is not null at this point? -Chris > for (std::map<Value*, DSNodeHandle>::iterator i = vmap.begin(); i > != vmap.end(); ++i) { > if(i-&gt...
2002 Nov 28
0
[LLVMdev] Breakage in CVS?
> > > The following function produces a segv when the begin() is taken from > > > vmap, the ScalarMap... > > > int count = 0; > > > std::map<Value*, DSNodeHandle>& vmap = theGraph->getScalarMap(); > > > > Are you sure "theGraph" is not null at this point? > yes... that call returns sucessfully. the segfault occurs after... I don't doubt...
2009 Jun 11
0
[LLVMdev] Pool Allocation and DSA
...t of >> memory objects and the edges represent pointers within one memory object >> that point to another memory object (i.e. if node A points to node B, >> that means a field in one of the objects in node A points to an object >> in node B). The DSGraph also contains a ScalarMap which maps LLVM >> Values to nodes in the graph (these nodes are called DSNodes). DSA is >> somewhat special because it attempts to disambiguate different linked >> data structures within programs (hence the name Data Structure Analysis, >> or DSA). >> >> Au...
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> >