search for: dsnodehandl

Displaying 20 results from an estimated 33 matches for "dsnodehandl".

Did you mean: dsnodehandle
2006 Dec 01
1
[LLVMdev] DSGraph::computeCalleeCallerMapping failing
...tion 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 llvm::DSNodeHandle&, __gnu_cxx::hash_map<const llvm::DSNode*, llvm::DSNodeHandle, __gnu_cxx::hash<const llvm::DSNode*>, std::equal_to<const llvm::DSNode*>, std::allocator<llvm::DSNodeHandle> >&, bool): Assertion `Entry.getNode() == N2 && "In...
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() == theNode) { if(isa<MallocInst>(i->first)) count++; } } if(count == 1) return true; return false; } This code...
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...
2008 Apr 03
3
[LLVMdev] problem with using DSA for a side-effect analysis
...ocation 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 would need a call similar to getModRefInfo, just where second parameter is not a Value, but a DSNodeHandle pointing to the memory location in the caller whose ModRef status I would like to find out. Do you maybe have anything similar to that? -- Zvonimir > The ModRef info is directly available through the alias analysis dsa > client, and certainly easier to use. > > Andrew > >...
2011 Jul 06
1
[LLVMdev] Error on using DataStructureAnalysis
...d 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 llvm::DSGraph::computeNodeMapping(const llvm::DSNodeHandle&, const llvm::DSNodeHandle&, llvm::DSGraph::NodeMapTy&, bool): Assertion `Entry.getNode() == N2 && "Inconsistent mapping detected!"' failed. The definition of the corresponding function is: define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjE9constructEPjRKj...
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 (std::map<Value*, DSNodeHandle>::iterator i = vmap.begin(); i > &...
2008 Apr 04
0
[LLVMdev] problem with using DSA for a side-effect analysis
...> 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 would need a call similar to getModRefInfo, just where second > parameter is not a Value, but a DSNodeHandle pointing to the memory > location in the caller whose ModRef status I would like to find out. > Do you maybe have anything similar to that? I haven't looked at the dsaaa implementation for quite a while, but that would be the place to start. If the DSNodeHandle corrosponds to anythin...
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_...
2011 Jul 07
1
[LLVMdev] Error on using DataStructureAnalysis
...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 llvm::DSGraph::computeNodeMapping(const llvm::DSNodeHandle&, const llvm::DSNodeHandle&, llvm::DSGraph::NodeMapTy&, bool): Assertion `Entry.getNode() == N2 && "Inconsistent mapping detected!"' failed. The definition of the corresponding function is: define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjE9constructEPjR...
2002 Nov 11
1
[LLVMdev] DSGraph questions
...really busy this week. > > > > From: Xiaodong Li <xli3 at santoor.cs.uiuc.edu> > > Subject: [LLVMdev] DSGraph questions > > Sender: llvmdev-admin at cs.uiuc.edu > > Date: Sun, 10 Nov 2002 11:25:53 -0600 (CST) > > > > 1. What is the difference between DSNodeHandle and DSNode? What do the > > functions getLink() and getSize() do? > > > DSNodeHandle is essentially like an edge in the DSGraph. > It serves two main purposes: > (1) It keeps track of which byte offset is being pointed to within > the target node. > (2) It keeps trac...
2004 Aug 06
1
[LLVMdev] Why I cannot use PgmDependenceGraph?
...ad /llvm/lib/Debug/libhello.so -hello2 helloTheWorld.bc", and opt gives me: opt[0x85aaab8] opt[0x85aacc4] /lib/tls/libc.so.6[0x420275c8] opt(std::vector<__gnu_cxx::_Hashtable_node<std::pair<llvm::Value* const, llvm::] opt(__gnu_cxx::hashtable<std::pair<llvm::Value* const, llvm::DSNodeHandle>, llv] opt(__gnu_cxx::hashtable<std::pair<llvm::Value* const, llvm::DSNodeHandle>, llv] opt(__gnu_cxx::hash_map<llvm::Value*, llvm::DSNodeHandle, __gnu_cxx::hash<llvm:] opt(llvm::DSScalarMap::find(llvm::Value*)+0x1a)[0x84a998e] opt(llvm::DSGraph::removeDeadNodes(unsigned)+0x3e1)[...
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 10
0
[LLVMdev] DSGraph questions
...try to answer these because Chris is really busy this week. > From: Xiaodong Li <xli3 at santoor.cs.uiuc.edu> > Subject: [LLVMdev] DSGraph questions > Sender: llvmdev-admin at cs.uiuc.edu > Date: Sun, 10 Nov 2002 11:25:53 -0600 (CST) > > 1. What is the difference between DSNodeHandle and DSNode? What do the > functions getLink() and getSize() do? DSNodeHandle is essentially like an edge in the DSGraph. It serves two main purposes: (1) It keeps track of which byte offset is being pointed to within the target node. (2) It keeps track of how many objects have pointers to...
2002 Nov 20
0
[LLVMdev] getScalarMap
...l it returns an empty 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....
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->second.getNode() == theNode) { > if(isa<MallocInst&g...
2008 Apr 04
1
[LLVMdev] problem with using DSA for a side-effect analysis
...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 would need a call similar to getModRefInfo, just where second > > parameter is not a Value, but a DSNodeHandle pointing to the memory > > location in the caller whose ModRef status I would like to find out. > > Do you maybe have anything similar to that? > > I haven't looked at the dsaaa implementation for quite a while, but > that would be the place to start. If the DSNodeH...
2009 Jul 04
2
[LLVMdev] Pool Allocation Segfaulting with opt
...taStructure.so 0x0022d9dc llvm::cast_retty<llvm::ConstantArray, llvm::Constant*>::ret_typellvm::dyn_cast<llvm::ConstantArray, llvm::Constant*>(llvm::Constant* const&) + 30 8 libLLVMDataStructure.so 0x0022bc71 (anonymous namespace)::GraphBuilder::MergeConstantInitIntoNode(llvm::DSNodeHandle&, llvm::Type const*, llvm::Constant*) + 229 9 libLLVMDataStructure.so 0x0022bfb7 (anonymous namespace)::GraphBuilder::mergeInGlobalInitializer(llvm::GlobalVariable*) + 149 10 libLLVMDataStructure.so 0x0022c08c llvm::LocalDataStructures::runOnModule(llvm::Module&) + 190 11 opt...
2002 Nov 20
3
[LLVMdev] getScalarMap
...calar map, and it points to whatever the scalar points to. Because the scalar nodes don't exist in the graph anymore, we dropped the flag. -Chris > > > ...... > > > 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 s...
2002 Nov 11
1
[LLVMdev] top of tree broken?
...cratch0/gaeke/llvm-497cz/lib/Analysis/LiveVar' gmake[3]: Entering directory `/scratch/scratch0/gaeke/llvm-497cz/lib/Analysis/IPA' Compiling IPModRef.cpp IPModRef.cpp: In member function `DSGraph* FunctionModRefInfo::ResolveCallSiteModRefInfo(CallInst&, std::map<const DSNode*, DSNodeHandle, std::less<const DSNode*>, std::allocator<std::pair<const DSNode* const, DSNodeHandle> > >&)': IPModRef.cpp:163: no matching function for call to `DSGraph:: removeTriviallyDeadNodes(bool)' ../../../include/llvm/Analysis/DSGraph.h:186: candidates are: void...
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...s 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( value ) > > Then you can get the DSNode from the DSGraph: > > llvm::DSNodeHandle handle = _dsg->getNodeForValue(origVal); > DSNode *node = handle.getNode(); > > origVal is obtained by calling MapValueToOriginal on a cloned Value. > > All those mappings are quite confusing. I've been thinking about splitting Pool allocation in two phases, > one in...