[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