On Fri, 19 Mar 2004, Chris Lattner wrote:> > "Data Structure Analysis: An Efficient Context-Sensitive Heap
Analysis"?
>
> Yes, this lives in llvm/lib/Analysis/DataStructure
Great!
> > "Automatic Pool Allocation for Disjoint Data Structures",
> > "Memory Safety Without Runtime Checks or Garbage Collection"
and
>
> These two are not available in the main LLVM distribution (yet). If you
> are interested in getting a private copy of them, send email to Vikram
> (vadve at cs.uiuc.edu) and we can probably work something out.
Maybe I'll send a mail later regarding the pool allocation, but right now
I have enough code to read :). Thought it would be nice to see how the
pools are used in the backend instead of normal allocation, but I guess it
is a quite straight forward modification of LowerAllocation.cpp or
something similar.
Thanks for the positive and fast replies. :)
, Tobias
Ps. I'm considering to try to make a small optimization-pass as an
exercise to learn the system. It would do something like this:
1. Order the local variables in the call-frame of a function based on
liveness, with the variables dying first on top of the stack.
2. Then for each function-call, check which variables that have died and
set the new call-frame over the dead variables instead of on the top of
the stack. (which would work if the local variables are referenced
relative to the frame pointer and not the stack pointer)
That would lead to some space optimization, kind of a more general tail
recursion elimination (maybe it already exists and have a name :)). I
guess this would have to be done in CodeGen. Ds