search for: budatastructur

Displaying 20 results from an estimated 22 matches for "budatastructur".

Did you mean: budatastructure
2006 May 22
2
[LLVMdev] Indirect function call
The follwing is a snippet of code to find some indirect calls in a module, which I learned from TopDownClosure.cpp: void FPS::repairCallGraph(Module &M) { CompleteBUDataStructures &DS = getAnalysis<CompleteBUDataStructures>(); for (Module::iterator f = M.begin(); f != M.end(); ++f ) { if( f->isExternal() ) continue; for (Function::iterator I = f->begin(); I != f->end(); ++I) { for(BasicBlock::iterator J = I->begin(); J != I->end(); ++J) {...
2010 Aug 24
4
[LLVMdev] DSA Analysis
...currently trying to switch to llvm 2.7 for several reasons. I tried to use the trunk of the poolalloc svn repository with the llvm 2.7 release which is working fine for most of the programs I ran it on so far but for sqlite it's running into a stack overflow since it is endlessly looping in the BUDataStructure::calculateGraphs method (excerpt of the debugging output is attached). Since it is actively worked on I'm not asking for a quick solution. I just wanted to send this for case this behavior is not expected and to ask if there is a revision for which the BU DSA is known to work at least stable...
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 me...
2005 Feb 21
2
[LLVMdev] DSG Visualization
Hello, Is it possible to display the data structure graphs created by the Data Structure Analysis using a visualization tool? Thanks --------------------------------- Do you Yahoo!? Yahoo! Search presents - Jib Jab's 'Second Term' -------------- next part -------------- An HTML attachment was scrubbed... URL:
2005 Feb 21
0
[LLVMdev] DSG Visualization
On Mon, 21 Feb 2005, xavier wrote: > Hello, > > Is it possible to display the data structure graphs created by the Data Structure Analysis using a visualization tool? yes. Just run one of these commands: analyze -datastructure x.bc -- local DSGs analyze -budatastructure x.bc -- BU DSGs analyze -tddatastructure x.bc -- TD DSGs These commands will output one "dot" file for each function in the program and a globals graph. You can use the dot program (search for graphviz) to render these in just about any format you want. -Chris -- h...
2006 May 22
0
[LLVMdev] Indirect function call
On Mon, 2006-05-22 at 15:33 +0800, 夏一民 wrote: > But my code does not always works: if the arguments are not pointer, > CompleteBUDataStructures not records it. So, if you want to find all indirect > calls, you maybe have to repair CompleteBUDataStructures. :) Not surprising, CBU is trying to do something entirely different that what you are. > If you do not use BUDataStructures, you can do it yourself: find all load/store > in...
2010 Aug 24
0
[LLVMdev] DSA Analysis
...currently trying to switch to llvm 2.7 for several reasons. I tried to use the trunk of the poolalloc svn repository with the llvm 2.7 release which is working fine for most of the programs I ran it on so far but for sqlite it's running into a stack overflow since it is endlessly looping in the BUDataStructure::calculateGraphs method (excerpt of the debugging output is attached). > This is a known bug (PR#7929 at http://llvm.org/bugs/show_bug.cgi?id=7929). You can work around this problem by using the -dsa-no-filter-callcc=true, -dsa-no-filter-vararg=true, and -dsa-no-filter-intfp=true options...
2006 May 23
4
[LLVMdev] Indirect function call
On Monday 22 May 2006 22:22, Andrew Lenharth wrote: > On Mon, 2006-05-22 at 15:33 +0800, 澶忎竴姘� wrote: > > But my code does not always works: if the arguments are not pointer, > > CompleteBUDataStructures not records it. So, if you want to find all indirect > > calls, you maybe have to repair CompleteBUDataStructures. :) > > Not surprising, CBU is trying to do something entirely different that > what you are. > > > If you do not use BUDataStructures, you can do it yoursel...
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
2006 May 23
0
[LLVMdev] Indirect function call
On Tue, 2006-05-23 at 13:32 +0800, Nai Xia wrote: > On Monday 22 May 2006 22:22, Andrew Lenharth wrote: > > On Mon, 2006-05-22 at 15:33 +0800, 澶忎竴姘� wrote: > > > But my code does not always works: if the arguments are not pointer, > > > CompleteBUDataStructures not records it. So, if you want to find all indirect > > > calls, you maybe have to repair CompleteBUDataStructures. :) > > > > Not surprising, CBU is trying to do something entirely different that > > what you are. > > > > > If you do not use BUDataStr...
2010 Dec 13
1
[LLVMdev] How can I determine safely if a CallSite is "live" in a DSGraphs context
Hi, I believe shouldHaveNodeForValue() should return false for ConstantPointerNullValue. Fixed in r121707. Arushi On Mon, Dec 13, 2010 at 12:10 PM, Kevin Streit <kevin.streit at googlemail.com>wrote: > I'm using BUDataStructures... But I tried LocalDatastructures and it didn't > work either... > On Dec 13, 2010 6:52 PM, "Arushi Aggarwal" <arushi987 at gmail.com> wrote: > > Hi, > > > > Which DSA pass are you using, local/bu/td? I can try looking at this once > I > > kn...
2002 Oct 30
1
[LLVMdev] help interpreting DSGraph->dump
> > First off, make sure you are sending the graphs through the "dot" > > utility. It turns them into a nice format that is much easier to > > visualize than the text format... :) > > hmmm... how do I get to use the magical "dot" utility? It sounds > pretty much like what I'm looking for, and I found it in >
2002 Nov 12
0
[LLVMdev] (no subject)
...-Original Message----- > From: Vikram S. Adve [mailto:vadve at cs.uiuc.edu] > Sent: Tuesday, November 12, 2002 5:34 PM > To: 'Xiaodong Li' > Cc: llvmdev at cs.uiuc.edu > Subject: RE: [LLVMdev] (no subject) > > > Chris told you how to get results of any pass > (BUDataStructure, TDDataStructure, etc.). > > The CallGraph pass right now is very imprecise. Instead, the > best way to get CallGraph information is to do the following: > -- Get the TDGraph > -- Call tdGraph->getFunctionCalls(). This returns a > list of call site objects, which contai...
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...
2002 Nov 20
0
[LLVMdev] getScalarMap
Chris, We tried that too...but still 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 th...
2002 Nov 21
0
[LLVMdev] Re: getAnalysis
On Thu, 21 Nov 2002, Juan Nicolas Ruiz wrote: > sorry for sending this question just to you: What do I need to include > or declare in order to be able to use an external analysis? I'm trying > to do: > > DSGraph* DSG = getAnalysis<BUDataStructures>().getDSGraph(F); > > I have > #include "llvm/PassAnalysisSupport.h" // getAnalysis Please do not ever #include this file directly, always #include Pass.h > but still keep getting the error: > MemLeak.cpp:34: `getAnalysis' undeclared (first use this function)...
2002 Nov 30
1
[LLVMdev] How to get a Module DSGraph?
I've been trying to obtain a DSGraph for a complete module, but haven't succeeded. I tried - getting the DSGraph for each function, and copying the nodes to a Module graph. But since there are no nodehandles, apparently there is no merging of nodes. - modifying BUDataStructure Pass so that it will not execute removeDeadNodes() or removeTriviallyDeadNodes(). - couldn't get mergeInGraph() to work, but tried. My main interest is in situations like void *M(int size) { return malloc(size); } void F() { void *p = M(....); } where I can identify that %p and the...
2002 Nov 12
2
[LLVMdev] (no subject)
Dear LLVM, I need to do interprocedural analysis for my project. I was wondering if you can tell me how to create Bottom Up DSGraph and Call Graph in the program. I know DSGraph *dsg = new DSGraph( F ) can create a DSGraph, but looks like that's only local DSGraph. I also need to know how to create the call graph for the whole module in the program. Thanks, xiaodong
2002 Nov 20
3
[LLVMdev] getScalarMap
...) | | v B: [ H int] Now X is represented ONLY in the scalar 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 getNodeForVal...
2004 Sep 02
0
[LLVMdev] Problem with CVS LLVM build in obj != src dir case
...rer/pkg/build/llvm/src/llvm/utils/TableGen/TableGen.cpp:235: warning: converting of negative value `-0x000000001' to `unsigned int' Compiling BottomUpClosure.cpp /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp: In member function `unsigned int llvm::BUDataStructures::calculateGraphs(llvm::Function*, std::vector<llvm::Function*, std::allocator<llvm::Function*> >&, unsigned int&, __gnu_cxx::hash_map<llvm::Function*, unsigned int, __gnu_cxx::hash<llvm::Function*>, std::equal_to<llvm::Function*>, std::allocator<unsigned...