[LLVMdev] Improving Garbage Collection

Kenneth Uildriks kennethuil at gmail.com
Wed Jul 6 15:51:21 PDT 2011


On Wed, Jul 6, 2011 at 5:24 PM, Talin <viridia at gmail.com> wrote:

> One approach would be to extend the current scheme to work with SSA values,
> possibly using a new intrinsic. This is somewhat problematic because you
> can't really have a 'do-nothing' function on SSA values - the result of the
> function is always going to be a copy of the value, not the original value
> that was passed in.

That doesn't seem like a huge problem.  In the common case, the
"marked" SSA value and the "unmarked" original wouldn't be live
simultaneously.  Uses of the unmarked version reachable from the mark
intrinsic can either be treated as a separate value or just left
undefined.

It makes sense to also add an "unmark" intrinsic to define when the
SSA stack root goes out of scope



More information about the llvm-dev mailing list