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 >