Michael McCracken
2006-Feb-11 04:10 UTC
[LLVMdev] Another project using LLVM: LENS, a program investigation framework.
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>
Chris Lattner
2006-Feb-11 05:51 UTC
[LLVMdev] Another project using LLVM: LENS, a program investigation framework.
On Fri, 10 Feb 2006, Michael McCracken wrote:> 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 > ...Very cool!> 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.Please do, I would like to add a link from the projects using LLVM page. Also if you have any publications, we can host a copy of them on the publications page for you if you'd like. Thanks! -Chris -- http://nondot.org/sabre/ http://llvm.org/
Michael McCracken
2006-Feb-15 01:36 UTC
[LLVMdev] Another project using LLVM: LENS, a program investigation framework.
Hi again, here's the website for LENS: http://www.cse.ucsd.edu/~mmccrack/lens/ Feedback about any part of what we're doing is welcome. We only have a tech report thus far, and it describes the framework itself more than the integration with LLVM, so if anyone has any questions about what we use LLVM for, I'll be glad to answer via email. (Read on if you're interested in details:) We are using LLVM to generate our program structure definitions, aka the 'external representation' of the program, and we have also modified some passes in LLVM to respond to queries about their success as a demonstration of the technique. We don't currently have a version of LLVM that exposes similar information about all the passes. -mike On 2/10/06, Chris Lattner <sabre at nondot.org> wrote:> On Fri, 10 Feb 2006, Michael McCracken wrote: > > 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 > > ... > > Very cool! > > > 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. > > Please do, I would like to add a link from the projects using LLVM page. > Also if you have any publications, we can host a copy of them on the > publications page for you if you'd like. > > Thanks! > > -Chris > > -- > http://nondot.org/sabre/ > http://llvm.org/ > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-- Michael McCracken UCSD CSE PhD Candidate research: http://www.cse.ucsd.edu/~mmccrack/ misc: http://michael-mccracken.net/wp/