search for: annotatedtypes

Displaying 4 results from an estimated 4 matches for "annotatedtypes".

Did you mean: annotatedtype
2013 Nov 11
0
[LLVMdev] Improving GC intrinsics in LLVM
A couple people have asked about this, so I wanted to describe my proposals for improving LLVM's garbage collection intrinsics. Currently the llvm.gcroot intrinsic associates a set of GC metadata with a value, specifically a value produced by an alloca instruction. In the proposed scheme, GC metadata would instead be associated with a *type*. The most general approach would be to introduce a
2012 Dec 31
0
[LLVMdev] Extending GC infrastructure for roots in SSA values
...'d be happy to run with it if it checks out. In fact, I would have eventually ran into exactly the same problem with discriminated unions that you describe; Idris, like any other modern statically-typed functional language, has algebraic datatypes after all. Getting optimization passes to treat AnnotatedTypes the same as their contained type would be necessary for this to pay off completely; can anyone comment on what, if any, difficulties might be involved there? > On Fri, Dec 28, 2012 at 1:09 PM, Benjamin Saunders <ralith at gmail.com> wrote: >> >> I'm working on an LLVM back...
2012 Dec 28
5
[LLVMdev] Extending GC infrastructure for roots in SSA values
I'm working on an LLVM backend for Idris, a garbage-collected pure functional programming language, and have experienced some frustration that LLVM's GC support, specifically with regard to mapping roots, operates only on allocas. This entails a lot of otherwise unnecessary stack allocation (especially in a pure language, where in-place mutation is rare) and imposes limitations on what
2012 Dec 30
0
[LLVMdev] Extending GC infrastructure for roots in SSA values
First of all, thanks for looking into this! As you've no doubt discovered, I'm one of the people who has talked a lot about this issue in the past, and have been frustrated with the lack of progress in this area. 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