[LLVMdev] DSnode type question

Xiaodong Li xli3 at csil-suna26.cs.uiuc.edu
Mon Dec 2 23:32:01 PST 2002

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.


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 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 case?
> Folded nodes are nodes where the type information in LLVM isn't good
> enough to distinguish fields, therefore we need to fold the nodes to be
> conservatively correct, even though doing so loses field sensitivity.
> Pointer/Alias analysis is an undecidable problem, so all [sound] analyses
> must have some way to represent conservativism.  This is one of the ways
> that the DSGraphs do it.  In this case, your pass should do something
> conservative.
> Despite this, we should not be tossing away the type of memory object it
> is (ie heap allocation).  I will look into this tommorow to see what is
> going on.
> -Chris
> --
> http://llvm.cs.uiuc.edu/
> http://www.nondot.org/~sabre/Projects/

More information about the llvm-dev mailing list