GSoC/GCI Archive
Google Summer of Code 2012 The LLVM Compiler Infrastructure

Common memory safety instrumentation and optimization passes for LLVM

by Ott Tinn for The LLVM Compiler Infrastructure

The goal of this project is to modify SAFECode and AddressSanitizer (ASan) to use a common set of memory safety instrumentation and optimization passes to increase code reuse. These tools and other similar ones use varying runtime methods, but are fundamentally trying to do the same thing: check whether each memory access is safe. It is desirable to optimize away redundant runtime checks to improve such tools' runtime performance. This means that there is a need for shared memory safety instrumentation and optimization passes.