svadev AT lists.siebelschool.illinois.edu
Subject: Svadev mailing list
List archive
- From: John Criswell <criswell AT illinois.edu>
- To: Daniel Huang <dehuang AT fas.harvard.edu>
- Cc: svadev AT cs.illinois.edu
- Subject: Re: [svadev] safecode
- Date: Sat, 19 May 2012 11:11:07 -0500
- List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
- List-id: <svadev.cs.uiuc.edu>
|
On 5/15/12 11:12 AM, Daniel Huang wrote:
Ok thanks. Also, I can't get poolalloc release_27 to compile.
According to the README, it is broken for LLVM 2.7. I'm wondering
if this is indeed the case and should revert to release_26.
It should compile if you grab the release_27 branches of LLVM, SAFECode, and Poolalloc. That said, we stopped using automatic pool allocation in LLVM 2.7 to try to make SAFECode more robust first. However, I thought we had had it working to some degree before we began the move to LLVM 3.0 and the great refactoring to integrate into Clang. Regarding LLVM 3.0, I have now gotten the type-safe load/store check elimination optimization and automatic pool allocation (APA) running within libLTO. If you add the -DPOOLALLOC option to the compile command-line (by hacking Makefile.common), then it should be enabled. The good news is that APA is transforming code. The bad news is that: 1) The run-time library needs to be updated to support the poolalloc run-time functions (how we handle these changed when I refactored SAFECode to integrate with Clang). Right now, you can transform code to be pool allocated, but you can't link it and run it. 2) I do not know how well APA is actually working. It successfully transforms the flex lexer generator, but that's the only thing I've tried. I think fixing the runtime should be simple; I'll take a look into that early next week. In the meantime, you might want to take APA for a spin on the programs you want to compile to see if it crashes. -- John T.
On Tue, May 15, 2012 at 1:10 AM, John Criswell <criswell AT illinois.edu>
wrote:
On 5/14/12 8:19 PM, Daniel Huang wrote:
I believe the last version was LLVM 2.7. If you check out
the release_27 branches of LLVM, SAFECode, and Poolalloc,
you should get it.Hi SVAdev, However, the SAFECode integration with clang wasn't done for LLVM 2.7. If you want to use SAFECode with LLVM 2.7, you'll have to link the entire program into a single bitcode file and run the sc tool on it (check the docs directory for information on the sc tool).
We have not made any plans yet on when we'll be working on poolalloc. There are other optimizations which are easier to make robust that should help SAFECode's performance; this (and other obligations) are why poolalloc hasn't been worked on in awhile. Since you need poolalloc for your work, I think what we can do is to try running it within libLTO at a higher optimization level so that it doesn't affect the average SAFECode user but is available for you (and other adventerous souls) to use. I can try to look at that later this week or next week. -- John T.
|
- [svadev] safecode, Daniel Huang, 05/14/2012
- Re: [svadev] safecode, John Criswell, 05/15/2012
- Re: [svadev] safecode, Daniel Huang, 05/15/2012
- Re: [svadev] safecode, John Criswell, 05/19/2012
- Re: [svadev] safecode, John Criswell, 05/21/2012
- Re: [svadev] safecode, Daniel Huang, 05/24/2012
- Re: [svadev] safecode, John Criswell, 05/24/2012
- Re: [svadev] safecode, Daniel Huang, 05/24/2012
- Re: [svadev] safecode, John Criswell, 05/24/2012
- Re: [svadev] safecode, Daniel Huang, 05/25/2012
- Re: [svadev] safecode, John Criswell, 05/25/2012
- Re: [svadev] safecode, Daniel Huang, 05/25/2012
- Re: [svadev] safecode, John Criswell, 05/25/2012
- Re: [svadev] safecode, Daniel Huang, 05/26/2012
- Re: [svadev] safecode, John Criswell, 05/24/2012
- Re: [svadev] safecode, Daniel Huang, 05/24/2012
- Re: [svadev] safecode, John Criswell, 05/21/2012
- Re: [svadev] safecode, John Criswell, 05/19/2012
- Re: [svadev] safecode, Daniel Huang, 05/15/2012
- Re: [svadev] safecode, John Criswell, 05/15/2012
Archive powered by MHonArc 2.6.16.