[LLVMdev] Idempotent Code Generation in LLVM

Marc de Kruijf dekruijf at cs.wisc.edu
Wed Aug 1 12:34:18 PDT 2012


As part of PhD research I integrated support for code generation of
idempotent (re-executable) code regions into LLVM, along with a supporting
IR-level analysis to identify and demarcate large "semantically" idempotent
regions [1].  Some have expressed interest the code, so here is a link that
contains some documentation and pointers to the source hosted on GitHub:

http://research.cs.wisc.edu/vertical/iCompiler

I hope the code may be useful to others.  I apologize for not releasing
this code sooner -- it has been ready for some time -- but I am only just
now finding the right moment to do this.

There are no bugs that I'm aware of, though there are unaddressed
optimization opportunities with respect to, among other things, (a) better
register-pressure awareness, (b) employing transformations (particularly
loop transformations) to increase the "degree" of idempotence and/or
improve code generator performance, and (c) better alias analysis... if
anyone is interested; I personally am moving on to other things for now...

Lastly, thank you to all of the LLVM community for effectively enabling
this research.

Marc

[1] M. de Kruijf, K. Sankaralingam, and S. Jha. *Static Analysis and
Compiler Design for Idempotent Processing.  *PLDI '12: Programming Language
Design and Implementation, 2012.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120801/df180a4e/attachment.html>


More information about the llvm-dev mailing list