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