On Sun, Dec 30, 2012 at 1:54 AM, Talin <span dir="ltr"><<a href="mailto:viridia@gmail.com" target="_blank">viridia@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>I completely agree with your point about wanting to be able to attach GC metadata to a type (rather than attaching it to a value, as is done now). In the past, there have been two objections to this approach: first, the overhead that would be added to the Pointer type - the vast majority of LLVM users don't want to have to pay an extra 4-8 bytes per Pointer type. And second, that all of the optimization passes would have to be updated so as to not do illegal transformations on a GC type.</div>

</blockquote><div><br></div><div>I have extended LLVM locally to support metadata on types, though right now it is only supported on struct types. It could be a good first step to implement this.</div><div><br></div><div>

If someone is interested, the code is at: <a href="https://github.com/tritao/llvm/commit/e8c24e1c10713d358392c984389fcf2791130ca5">https://github.com/tritao/llvm/commit/e8c24e1c10713d358392c984389fcf2791130ca5</a></div></div>

<div><br></div>-- <br>Joćo Matos