[LLVMdev] Google Summer of Code Projects

Torvald Riegel torvald at se.inf.tu-dresden.de
Tue Apr 22 12:58:50 PDT 2008

On Tuesday 22 April 2008, Chris Lattner wrote:
>    [llvmir]  "Software Transactional Memory (STM) support in LLVM" by
> Luis Felipe Strano


I'd like to know more about the directions for the STM project.

Somewhat contrary to what the project's abstract states, there are open C/C++ 
based implementations for compiler support for memory transactions. Besides 
some efforts to modify GCC (AFAIK the respective groups haven't published 
source code yet), there is also an open-source tool that is implemented as an 
LLVM pass (Tanger, see http://tinystm.org/tanger).

I'm part of a group that does research on transactional memory. We are working 
on many aspects of (S)TM (STM algorithms and implementations, compiler 
support, infrastructure, ...) and collaborate with several other research 
groups. For example, I have worked on STM optimizations based on pointer 
analysis (see 
http://wwwse.inf.tu-dresden.de/ABSTRACTS/riegel2008partitioning.html and 
http://wwwse.inf.tu-dresden.de/ABSTRACTS/riegel2008objbased.html). These 
optimizations are implemented on top of our LLVM pass (see above) and use 

Coming back to the compiler support, I would suggest that the project should 
try to use existing infrastructure (tools, code, ...) as much as possible. 
Many of the subproblems do have simple solutions, but integrating them can be 
difficult because there is a lot of interaction, and design choices can often 
have consequences that are hard to spot unless you have broader knowledge 
about TM.

We can also offer support and advice regarding TM and the project's topic if 
there should be interest in that.


More information about the llvm-dev mailing list