[llvm-commits] Specification for Run-time Checks

John Criswell criswell at illinois.edu
Wed May 9 15:33:25 PDT 2012


On 5/9/12 4:47 PM, John Criswell wrote:
> Dear Nuno and All,
>
> Attached is my first draft of a specification for the run-time checks 
> I would like to propose to replace the use of objectsize for dynamic 
> bounds checking.  It includes a brief description of the checks and 
> examples of how Clang, ASan, and SAFECode could use them.
>
> This is a first rough draft.  Questions, comments, criticisms are 
> welcome.  If people are sufficiently interested, I can make revisions 
> based on comments
>
> For the curious, implementing the functionality that Nuno wants 
> (described in Section 3.1) would be trivial.  I would need to update 
> two small passes in SAFECode from LLVM 3.0 to LLVM mainline, write a 
> Clang-specific pass that removes calls to gepcheck, and copy the 
> implementation of fastgepcheck into the correct run-time library 
> (compiler-rt?).  With additional work, I could write a new pass that 
> inlines the fastgepcheck so that libLTO isn't needed to inline the 
> fastgepcheck implementation, but that might take a little more time.

Also, just to be clear, I'd be more than happy to do the implementation 
work and submit patches for review if people want to use this approach.

-- John T.




More information about the llvm-commits mailing list