This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Asan static optimization (draft)
- From: Yuri Gribov <tetra2005 at gmail dot com>
- To: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>
- Cc: Yury Gribov <y dot gribov at samsung dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>, Marek Polacek <polacek at redhat dot com>, Dmitry Vyukov <dvyukov at google dot com>, Dodji Seketeli <dodji at redhat dot com>, Viacheslav Garbuzov <v dot garbuzov at samsung dot com>
- Date: Fri, 15 Aug 2014 10:55:35 +0400
- Subject: Re: [PATCH] Asan static optimization (draft)
- Authentication-results: sourceware.org; auth=none
- References: <53E4A5D1 dot 8050007 at samsung dot com> <CAGQ9bdwbhTZUo-To=F87bMu4D0vP7VWydcsaB58+UR_c3AP=qQ at mail dot gmail dot com>
On Thu, Aug 14, 2014 at 8:53 PM, Konstantin Serebryany
<konstantin.s.serebryany@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