[LLVMdev] Another project using LLVM: LENS, a program investigation framework.

Michael McCracken michael.mccracken at gmail.com
Fri Feb 10 20:10:18 PST 2006


Hi, I'm using LLVM as part of my thesis project and wanted to let the
community know about it. (And get your feedback :)

The project is called LENS. It's a file format and a framework for storing
generic information about a program based on the control structure of the
program, and quickly building tools to interact with that data. It might be
best to think of the format as an external representation of the program
that lets you attach data to the program's modules, procedures, loops and
blocks. Tools request information using queries that specify the parts of
the program they refer to using a naming system that is based on XPath.

One goal of the project is to allow users and other tools more detailed
access to information about the compiler's actions, in the case of
optimization passes, what decisions it made and why, and if a transformation
failed, what the reasons were. In order to control the data overload that's
implied by the level of detail we're suggesting, this information is only
made available as responses to queries that can be very specific, even
targeting individual basic blocks. The queries and code structure are saved
in the file with version information to allow for historical comparisons.

We used LLVM as the compiler framework to prototype support for reporting of
optimization successes and failures, including some information on loop
transformations and register allocation.

Let me know if you have any questions about how we're using LLVM, or
anything else.
I'll be putting up a LENS web page soon - I'll post a link to that when it's
ready so you can add it to the LLVM projects list if you want.

Thanks,
-mike

--
Michael McCracken
UCSD CSE PhD Candidate
research: http://www.cse.ucsd.edu/~mmccrack/
misc: http://michael-mccracken.net/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060210/572ff7d3/attachment.html>


More information about the llvm-dev mailing list