similar to: [LLVMdev] Shouldn't need a "Module Graph"

Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Shouldn't need a "Module Graph""

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 Dec 01
0
[LLVMdev] Shouldn't need a "Module Graph"
Thanks for the tip, but what do you mean by "DSGraphs may be different shapes? On Sun, 1 Dec 2002, David Crowe wrote: > The way we are doing it, per Vikram's recommendation, is to provide a > mapping between the callers nodes and the callees nodes at the time of the > call. Given that the only way they can communicate is through the > parameters, globals, and return node,
2002 Dec 06
1
[LLVMdev] WRT: function pointers + DSG
LLVM, What do I pass into the DSG in order to access the globals vector of functions that a function pointer may be calling. The code: CallInst *calli = dynamic_cast<CallInst*>(*i); std::vector<GlobalValue*> funcVect = theGraph.getNodeForValue(calli->getCalledFunction()).getNode()->getGlobals(); Doesn't appear to work... getCalledFunction() returns 0 Dave On Fri, 6 Dec
2002 Nov 29
2
[LLVMdev] Fake Exit node
Is there a facility with which we may automagically create a "fake" exit node, one that is the target of all BasicBlocks ending in return. This would be very helpful to IP dataflow analysis... Dave
2002 Nov 29
2
[LLVMdev] Fake Exit node
On Fri, 29 Nov 2002, Anand Shukla wrote: > There is a pass "UnifyFunctionExitNodes()" (you can add it to AnalysisUsage > of your pass) that does the trick. Yup, just like Anand says, this pass will make it so that there is at most one exit node from the function, which you can use for your analysis (it will even tell you which BB that is too). Note that a function may _not_ have
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
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
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 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
2002 Nov 29
0
[LLVMdev] Fake Exit node
There is a pass "UnifyFunctionExitNodes()" (you can add it to AnalysisUsage of your pass) that does the trick. -anand ----- Original Message ----- From: "David Crowe" <dcrowe at tremor.crhc.uiuc.edu> To: <llvmdev at cs.uiuc.edu> Sent: Friday, November 29, 2002 4:58 PM Subject: [LLVMdev] Fake Exit node > Is there a facility with which we may automagically
2002 Nov 30
0
[LLVMdev] Fake Exit node
How do I get this pass to work within my own ModulePass? I get this error: Running getAnalysisUsage() Assertion failed: 0 && "Pass available but not found! " "Perhaps this is a module pass requiring a function pass?", file PassManagerT.h, line 395 Abort Thanks, Dave On Fri, 29 Nov 2002, Chris Lattner wrote: > On Fri, 29 Nov 2002, Anand Shukla wrote: > >
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
2002 Dec 02
1
[LLVMdev] DSnode type question
Hi, Chris, I was wondering if you had a chance to look at this problem. Could you let me know how to decide if this is a heap node in this case? It's important because my code depends on this information. Thanks, Jerry On Thu, 21 Nov 2002, Chris Lattner wrote: > > When I use analyze to construct the DSGraph for the lists.c program in > > test/Programs/SingleSource/Shootout
2003 Sep 10
1
[LLVMdev] cvs probs
cvs co llvm ... cd llvm; ./configure --with-llvmgccdir=<llvmgccdir>; make ... Compiling llvmAsmParser.cpp Linking /home/dcrowe/llvm/llvmcvs/llvm/lib/Debug/asmparser.o make[2]: Leaving directory `/home/dcrowe/llvm/llvmcvs/llvm/lib/AsmParser' make[2]: Entering directory `/home/dcrowe/llvm/llvmcvs/llvm/lib/Bytecode' make[2]: *** No rule to make target `all'. Stop. make[2]:
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
2015 Dec 28
3
Interpreting DSCallGraph results
Any suggestions for how to interpret DSCallGraph's output for the following? I'm trying to use DSCallGraph to get a conservative estimate of a whole-program SCC call graph. I wanted to see how it handles real call-graph cycles involving functions both internal and external to the module. So I made a test program with the following actual call graph, using the standard library's
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 21
2
[LLVMdev] DSnode type question
Dear LLVM, When I use analyze to construct the DSGraph for the lists.c program in test/Programs/SingleSource/Shootout directory. I found out the heap node in the function test_list() all have type FOLDED:R. I was wondering why it's not heapnode anymore? My pass need to use this type information to determine whether a node is heap node. Is there any way I can know this is a heap node in this
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
2011 Jun 22
0
[LLVMdev] Memory dependence analysis
On 6/22/11 5:34 AM, Andreas Wilhelm wrote: > Hello, > > I'm looking for a way to identify dependencies of > function-pairs (memory-dependency, control-dependency...) in order to > parallelize them. > For aliasing problems I use the DataStructureAnalysis. I'm assuming that this is the DSA analysis in the poolalloc module. Be forewarned that: 1) DSA works with LLVM