Displaying 10 results from an estimated 10 matches for "globalnode".
2002 Nov 10
2
[LLVMdev] Find mallocs from a DSNode
Is there some efficient way to find the malloc instructions which point
to the memory represented by a DSNode? Right now the only way I see is
by iterating through the value map in the DSGraph object and finding
every value that points to my DSNode.
A possibly related question: is there a way to tell that the node has
been merged, and if so, what types of nodes went into the merge?
Thanks,
2002 Nov 24
4
[LLVMdev] globals in DS graph
...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 bit set in their types. Only
the malloc bit and the incomplete bit have been set. I am completely
clueless how to figure out if it is a global node or not. I used
getGlobals and found that the returned map had size 0.
How can I get the "common" global node of g?
2002 Nov 25
3
[LLVMdev] globals in DS graph
...free( g );
> > }
>
> I don't have an LLVM tree available to me right now (as
> tank/llvm.cs.uiuc.edu) is down, so take this with a grain of salt...
>
> > I noticed that the DSnode for g in alloc_func is different from that of
> > free_func and NEITHER of them had GlobalNode bit set in their types. Only
> > the malloc bit and the incomplete bit have been set. I am completely
> > clueless how to figure out if it is a global node or not. I used
> > getGlobals and found that the returned map had size 0.
>
> There may be a few different things goin...
2002 Oct 28
3
[LLVMdev] Alias for reporting LLVM bugs or patches
We have created a new alias -- llvmbugs at cs.uiuc.edu. Please use this
for reporting bugs or turning in patches for LLVM. Any such feedback
would be appreciated!
Please continue to use llvmdev to post questions or have discussions
about LLVM.
--Vikram
http://www.cs.uiuc.edu/~vadve
2002 Nov 10
0
[LLVMdev] Find mallocs from a DSNode
...rry :)
> A possibly related question: is there a way to tell that the node has
> been merged, and if so, what types of nodes went into the merge?
Yup, DSNode::NodeType contains flags for the node. There are four flags
that indicate the composition of the node: DSNode::AllocaNode, HeapNode,
GlobalNode, UnknownNode.
When two nodes are merged, their Flags are bitwise or'd together...
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
2002 Nov 22
3
[LLVMdev] Re: calls to exit()
On Fri, 22 Nov 2002, lee white baugh wrote:
> do calls to exit() always have a null target-function pointer? that is
> what i think i am seeing.
Currently, yes. What's actually happening is that the call gets moved to
the "globals graph". Essentially, this is due to the fact that the
function call cannot modify the local memory graph of the current
function. In cases where
2002 Nov 25
0
[LLVMdev] globals in DS graph
...t; }
> void free_func(){
> free( g );
> }
I don't have an LLVM tree available to me right now (as
tank/llvm.cs.uiuc.edu) is down, so take this with a grain of salt...
> I noticed that the DSnode for g in alloc_func is different from that of
> free_func and NEITHER of them had GlobalNode bit set in their types. Only
> the malloc bit and the incomplete bit have been set. I am completely
> clueless how to figure out if it is a global node or not. I used
> getGlobals and found that the returned map had size 0.
There may be a few different things going on here. First of all,...
2007 Dec 12
0
[LLVMdev] opt does not load poolalloc
...==================================
--- include/poolalloc/PoolAllocate.h (revision 44934)
+++ include/poolalloc/PoolAllocate.h (working copy)
@@ -144,7 +144,9 @@
/// map contains the global variable that holds the pool descriptor for the
/// node.
std::map<const DSNode*, Value*> GlobalNodes;
-
+ protected:
+ PoolAllocate(intptr_t id, bool passAllArguments)
+ : ModulePass (id), PassAllArguments (passAllArguments) {}
public:
static char ID;
#ifdef SAFECODE
@@ -276,14 +278,14 @@
void CalculateLivePoolFreeBlocks(std::set<BasicBlock*>
&LiveBlocks,Value *PD);
};...
2002 Nov 25
0
[LLVMdev] globals in DS graph
...>
> > I don't have an LLVM tree available to me right now (as
> > tank/llvm.cs.uiuc.edu) is down, so take this with a grain of salt...
> >
> > > I noticed that the DSnode for g in alloc_func is different from that of
> > > free_func and NEITHER of them had GlobalNode bit set in their types. Only
> > > the malloc bit and the incomplete bit have been set. I am completely
> > > clueless how to figure out if it is a global node or not. I used
> > > getGlobals and found that the returned map had size 0.
> >
> > There may be a f...
2002 Nov 10
2
[LLVMdev] Find mallocs from a DSNode
...related question: is there a way to tell that the node has
> > been merged, and if so, what types of nodes went into the merge?
>
> Yup, DSNode::NodeType contains flags for the node. There are four flags
> that indicate the composition of the node: DSNode::AllocaNode, HeapNode,
> GlobalNode, UnknownNode.
>
> When two nodes are merged, their Flags are bitwise or'd together...
I realized that, but what if two nodes of the same type are merged? Their
flags will not indicate that a merge has occurred. I'm concerned about the
case where two malloc nodes are merged, because...