On Tue, Dec 13, 2016 at 04:21:56PM +0100, Martin Liška wrote:
> gcc/ChangeLog:
>
> 2016-12-12 Martin Liska
>
> * sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
> (sanopt_optimize): Add new argument.
> (sanitize_asan_mark_unpoison): New function.
> (maybe_con
On 12/13/2016 01:29 PM, Jakub Jelinek wrote:
> On Tue, Dec 13, 2016 at 01:12:34PM +0100, Martin Liška wrote:
+ gimple_stmt_iterator gsi;
+ bool finish = false;
+ for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi); gsi_prev (&gsi))
+ {
+gimple *stmt = gsi_stmt
On Tue, Dec 13, 2016 at 01:12:34PM +0100, Martin Liška wrote:
> >> + gimple_stmt_iterator gsi;
> >> + bool finish = false;
> >> + for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi); gsi_prev (&gsi))
> >> + {
> >> +gimple *stmt = gsi_stmt (gsi);
> >> +if (maybe_contains_asan_check
On 12/13/2016 10:17 AM, Jakub Jelinek wrote:
> On Tue, Dec 13, 2016 at 09:56:00AM +0100, Martin Liška wrote:
>> @@ -671,18 +678,203 @@ public:
>>
>> }; // class pass_sanopt
>>
>
> Please add a short function comment here...
>
>> +static void
>> +sanitize_asan_mark_unpoison (void)
>> +{
>> +
On Tue, Dec 13, 2016 at 09:56:00AM +0100, Martin Liška wrote:
> @@ -671,18 +678,203 @@ public:
>
> }; // class pass_sanopt
>
Please add a short function comment here...
> +static void
> +sanitize_asan_mark_unpoison (void)
> +{
> + /* 1) Find all BBs that contain an ASAN_MARK poison call. *
I'm sending updated version that uses asan_mark_p predicate
and the patch can bootstrap on ppc64le-redhat-linux and survives regression
tests.
Ready to be installed?
Martin
>From d0ff310f636e8281198d5b549d00e6e5d94972e0 Mon Sep 17 00:00:00 2001
From: marxin
Date: Mon, 12 Dec 2016 15:22:05 +0100
On 12/09/2016 12:56 PM, Jakub Jelinek wrote:
> On Fri, Dec 09, 2016 at 12:39:24PM +0100, Martin Liška wrote:
>> + if (is_gimple_call (stmt) && gimple_call_internal_p (stmt))
>> +{
>> + enum internal_fn ifn = gimple_call_internal_fn (stmt);
>> + switch (ifn)
>> +
On Fri, Dec 09, 2016 at 12:39:24PM +0100, Martin Liška wrote:
> + if (is_gimple_call (stmt) && gimple_call_internal_p (stmt))
> + {
> + enum internal_fn ifn = gimple_call_internal_fn (stmt);
> + switch (ifn)
> + {
> + case IFN_ASAN_MARK:
> +