[LLVMdev] LLVM & Incremental Compilation

Vikram Adve vadve at cs.uiuc.edu
Sun Jan 16 15:38:51 PST 2005


>> 3. Is LLVM able to support advanced runtime features as continuations,
>> garbage collection and resuming exception handling. Would there be
>> anything in LLVM that would prevent these sorts of features? Is there
>> anything in the LLVM runtime that is assumed (dynamic typing, etc). Or
>> is LLVM as it's title sugests: Low-Level, so it won't get in your way?
>
> I believe that the only thing that we are presently missing is 
> guaranteed tail calls, but it will be added in the near future.  LLVM 
> does not assume anything about your runtime, as you say, it doesn't 
> get in your way. :)
>

I would add a couple of minor caveats to this.  Continuations are not a 
first-class feature in LLVM so any transformations that use them are 
not directly expressible - you would have to do those in a front-end if 
desired.  Also, although you can *implement* any of the above language 
features in LLVM, I think the code for closures (and therefore any 
first-class functions) requires excessive use of void pointers and 
casts.

--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1143 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20050116/91be0d9b/attachment.bin>


More information about the llvm-dev mailing list