Hi,

On Mon, Jan 27 2020, Feng Xue OS wrote:
> Current IPA does not propagate aggregate constant for by-ref argument
> if it is simple pass-through of caller parameter. Here is an example,
>
>    f1 (int *p)
>    {
>      ... = *p;
>      ...
>    }
>
>    f2 (int *p)
>    {
>       *p = 2;
>       f1 (p);
>    }
>
> It is easy to know that in f1(), *p should be 2 after a simple propagation
> from f2() to f1(). But this is missed due to some bug, which is targeted
> by this patch.
>
> Bootstrapped/regtested on x86_64-linux and aarch64-linux.

This is OK for trunk now that we are in stage1 again (but please retest
after rebasing).

Thanks,

Martin


>
> Feng
> ---
> 2020-01-27  Feng Xue  <f...@os.amperecomputing.com>
>
>         PR ipa/93429
>         * ipa-cp.c (propagate_aggs_across_jump_function): Further
>         check aggregate jump functions if by-ref argument is simple
>         pass through.
>         (intersect_aggregates_with_edge): Likewise.
> From dc488d2be10dacf70a40073fe5723c58db791b25 Mon Sep 17 00:00:00 2001
> From: Feng Xue <f...@os.amperecomputing.com>
> Date: Fri, 24 Jan 2020 23:09:28 +0800
> Subject: [PATCH] Fix missed IPA-CP on by-ref argument directly passed through
>

Reply via email to