This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] ASan phase place change
- From: Marat Zakirov <m dot zakirov at samsung dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Kostya Serebryany <kcc at google dot com>, Yury Gribov <y dot gribov at samsung dot com>
- Date: Tue, 24 Feb 2015 15:49:49 +0300
- Subject: Re: [PATCH] ASan phase place change
- Authentication-results: sourceware.org; auth=none
- References: <54E721B7 dot 8000109 at samsung dot com> <20150220120745 dot GX1746 at tucnak dot redhat dot com>
On 02/20/2015 03:07 PM, Jakub Jelinek wrote:
On Fri, Feb 20, 2015 at 02:59:51PM +0300, Marat Zakirov wrote:
Here is simple patch that moves asan phase just behind sanopt for all
O0/O1/O2/O3 modes which gives +7% on x86 SPEC2006 (ref dataset).
Regression testing and sanitized GCC bootstrapping were successfully done.
This isn't a regression, so I think it isn't appropriate for stage 4.
I bet the difference is mainly vectorization. I believe the right
change is to teach the vectorizer about the ASAN_CHECK internal call
I reproduced +28% for 433.milk with "-fno-tree-vectorize" on ref data.
Are there some other GCC vectorization options? And why do you think
that performance difference caused only by vectorization? As an example
In llvm loop hoisting suffers from early asan phase