On 6/27/11 7:46 PM, Gregory Malecha wrote:> Hello,
>
> Is the SVA codebase publically available, and if so, where can I find it?
It depends upon which part of SVA you want.
:)
The memory safety analysis and transform passes are publicly available
in the SAFECode and Automatic Pool Allocation source code repositories.
Directions on accessing SAFECode's SVN repository can be found here:
http://sva.cs.illinois.edu/downloads.html.
This code that we used in our two SVA papers was done with LLVM 1.9 and
is in the release_19 branches of the safecode and poolalloc projects.
We have not maintained that code, so I doubt you'll find it useful.
The transforms used for user-space applications is maintained and works
with LLVM 2.7 (this is mainline safecode and poolalloc). In addition,
we are moving some parts of SAFECode (those that don't rely on DSA) into
LLVM mainline. There is currently a patch pending review; it
essentially provides Jones-Kelley/Ruwase-Lam style memory safety with
some optional debug information support. We'll add in more non-DSA
based optimizations after the initial patch is reviewed. The DSA-based
optimizations will become part of a special libLTO that will reside out
of mainline LLVM for the time being.
The second component of SVA is the virtual instruction set
implementation which comes as two parts: SVA and SVA-OS. SVA is just
LLVM, and so that is publicly available. SVA-OS is the set of
instructions that abstract away the operations like context switching
and MMU configuration; the run-time library implementation of SVA-OS and
the port of the Linux kernel to SVA-OS is not currently available
publicly as we have not yet had time to polish them up a bit, and with
LLVM's ability to handle inline assembly code, there's less need for
them by the LLVM community. If you need this code for research, please
let me know off-list; I can ask my advisor if we can provide a copy to you.
-- John T.
>
> Thanks.
>
> --
> gregory malecha
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20110628/797efa03/attachment.html>