On Thu, Aug 14, 2014 at 8:53 PM, Konstantin Serebryany <konstantin.s.serebry...@gmail.com> wrote: > In order for your work to be generally useful, I'd ask several things: > - Update > https://code.google.com/p/address-sanitizer/wiki/CompileTimeOptimizations > with examples that will be handled
Done (to be honest I only plan to do full redundancy elimination for now, hoisting would hopefully follow later). Note I'm still experimenting so there may be some changes in actual implementation. > - Create small standalone test cases in C > - Don't put the tests under GPL (otherwise we'll not be able to reuse > them in LLVM) I already have a bunch of tests (which I plan to extend further). How should I submit them s.t. they could be reused by LLVM? >>> make sure that sanopt performs conservative optimization > Yes. I don't know a good solution to this problem, which is why we did > not attack it before. > Increasing asan speed will save lots of CPU time, but missing a single > software > bug due to an overly aggressive optimization may cost much more. Yeah. I thought about manually inspecting optimizations that are performed for some large files (e.g. GCC's asan.c) and maybe doing some random verifications of Asan trophies (http://code.google.com/p/address-sanitizer/wiki/FoundBugs). Ideally we'd have some test generator but making a reasonable one for C sounds laughable. Perhaps there is some prior work on verification of Java range checks optimizers? -Y