search for: mergeingraph

Displaying 3 results from an estimated 3 matches for "mergeingraph".

2002 Nov 24
0
[LLVMdev] DSGraph::mergeInGraph usage?
...CSV = G->getAuxFunctionCalls(); for (vector<DSCallSite>::iterator I = CSV.begin(), E = CSV.end(); I != E; I++) { Value *V = I->getCallInst().getOperand(0); Function &SF = cast<Function>(*V); if (!SF.isExternal()) { DSGraph *SFG = new DSGraph(SF, GG); G->mergeInGraph(*I, *SFG, 0); } } but the resulting graph has no new merged DSNodes, even though in my test case there is a DSNode pointed by the CallInst in F and another DSNode in G that is returned to F. Any ideas on what I'm doing wrong? nicolas
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 30
1
[LLVMdev] How to get a Module DSGraph?
...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 object returned by M() are the same. nicolas