[LLVMdev] Expressing inter thread dependencies

Vikram S. Adve vadve at uiuc.edu
Mon Mar 12 09:15:51 PDT 2007



On Mar 12, 2007, at 10:34 AM, Fabian Scheler wrote:

> After playing around a bit with LLVM, I
> decided to use LLVM, because of its great documentation, its clean and
> straight-forward design and it because it seems to be easily
> applicable also for beginners.


A gratuitous plug for a recent research project: If you use LLVM, you  
can also get a compiler called SAFECode  that (a) enforces memory  
safety with very low overhead, and (b) defines a subset of C for  
which you get memory safety with *no* run-time checks.  The latter  
work was specifically aimed at embedded systems.  In fact, we called  
the language subset "Control C" :^).

If you're interested, here are a couple of papers on these issues:

(1) "Memory Safety Without Garbage Collection for Embedded Applications"
Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner
ACM Transactions in Embedded Computing Systems (TECS), February 2005.
http://llvm.org/pubs/2005-02-TECS-SAFECode.html

(2) "Enforcing Alias Analysis for Weakly Typed Languages"
Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve
Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ.  
of Illinois, Nov. 2005.
http://llvm.org/pubs/2005-11-SAFECodeTR.html

SAFECode is a research prototype and so not yet robust, but we aim to  
make it robust and distribute it publicly.  You can get the current  
version with that caveat.

--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/





More information about the llvm-dev mailing list