public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Feng Xue OS <fxue@os.amperecomputing.com>
To: Tamar Christina <Tamar.Christina@arm.com>,
	Martin Jambor	<mjambor@suse.cz>, Jan Hubicka <hubicka@ucw.cz>,
	"gcc-patches@gcc.gnu.org"	<gcc-patches@gcc.gnu.org>
Cc: nd <nd@arm.com>
Subject: Ping: [PATCH] Fix bug in recursiveness check for function to be cloned (ipa/pr93707)
Date: Tue, 18 Feb 2020 15:16:00 -0000	[thread overview]
Message-ID: <BYAPR01MB486921741355BA859EC81359F7110@BYAPR01MB4869.prod.exchangelabs.com> (raw)
In-Reply-To: <DB6PR0802MB2245689AEEEDBECE7CE0DBCFFF160@DB6PR0802MB2245.eurprd08.prod.outlook.com>

Thanks,

Feng
________________________________________
From: Tamar Christina <Tamar.Christina@arm.com>
Sent: Monday, February 17, 2020 4:44 PM
To: Feng Xue OS; Martin Jambor; Jan Hubicka; gcc-patches@gcc.gnu.org
Cc: nd
Subject: RE: [PATCH] Fix bug in recursiveness check for function to be cloned (ipa/pr93707)

Hi Feng,

Thanks! The patch seems to work.

Hopefully it gets reviewed soon so we can fix the two benchmarks 😊

Thanks,
Tamar

> -----Original Message-----
> From: Feng Xue OS <fxue@os.amperecomputing.com>
> Sent: Thursday, February 13, 2020 05:40
> To: Tamar Christina <Tamar.Christina@arm.com>; Martin Jambor
> <mjambor@suse.cz>; Jan Hubicka <hubicka@ucw.cz>; gcc-
> patches@gcc.gnu.org
> Cc: nd <nd@arm.com>
> Subject: [PATCH] Fix bug in recursiveness check for function to be cloned
> (ipa/pr93707)
>
> I've submitted a bug tracker,
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93707.
>
> The root cause is that for a self-recursive function, a for-all-contexts clone
> could generate an edge whose callee is not the function. Therefore, to check
> whether an edge stands for a recursive call during cloning, we should not use
> ordinary way of comparing caller and callee of the edge.
>
> Bootstrapped/regtested on x86_64-linux and aarch64-linux, and also tested
> Spec 2017 with option "--param ipa-cp-eval-threshold=1".
>
> Feng
> ---
> 2020-02-13  Feng Xue  <fxue@os.amperecomputing.com>
>
>         PR ipa/93707
>         * ipa-cp.c (self_recursive_pass_through_p): Add a new parameter
> "node",
>         and check recursiveness by comparing "node" and cs->caller.
>         (self_recursive_agg_pass_through_p): Likewise.
>         (find_more_scalar_values_for_callers_subset): Add "node" argument to
>         self_recursive_pass_through_p call.
>         (intersect_aggregates_with_edge): Add a new parameter "node", and
> add
>         "node" argument to self_cursive_agg_pass_through_p call.
>         (find_aggregate_values_for_callers_subset): Add "node" argument to
>         self_recursive_pass_through_p and intersect_aggregates_with_edge
> calls.
>         (cgraph_edge_brings_all_agg_vals_for_node): Add "node" argument to
>         intersect_aggregates_with_edge call.
>
> > ________________________________________
> > From: gcc-patches-owner@gcc.gnu.org <gcc-patches-owner@gcc.gnu.org>
> on
> > behalf of Tamar Christina <Tamar.Christina@arm.com>
> > Sent: Tuesday, February 11, 2020 6:05 PM
> > To: Feng Xue OS; Martin Jambor; Jan Hubicka; gcc-patches@gcc.gnu.org
> > Cc: nd
> > Subject: RE: [PATCH V2] Generalized value pass-through for
> > self-recursive function (ipa/pr93203)
> >
> > Hi Feng,
> >
> > This patch (commit a0f6a8cb414b687f22c9011a894d5e8e398c4be0) is
> > causing ICEs in the GCC and perlbench benchmark in Spec2017.
> >
> > during IPA pass: cp
> > lto1: internal compiler error: in
> > find_more_scalar_values_for_callers_subset,
> > at ipa-cp.c:4709
> > 0x1698187 find_more_scalar_values_for_callers_subset
> >         ../.././gcc/ipa-cp.c:4709
> > 0x169f7d3 decide_about_value<tree_node*>
> >         ../.././gcc/ipa-cp.c:5490
> > 0x169fdc3 decide_whether_version_node
> >         ../.././gcc/ipa-cp.c:5537
> > 0x169fdc3 ipcp_decision_stage
> >         ../.././gcc/ipa-cp.c:5718
> > 0x169fdc3 ipcp_driver
> >         ../.././gcc/ipa-cp.c:5901
> > Please submit a full bug report,
> >
> > Thanks,
> > Tamar
> >

  reply	other threads:[~2020-02-18 15:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-25 13:52 [PATCH] Generalized value pass-through for self-recursive function (ipa/pr93203) Feng Xue OS
2020-01-25 16:17 ` [PATCH V2] " Feng Xue OS
2020-02-03  1:57   ` Ping* " Feng Xue OS
2020-02-05 17:27   ` Martin Jambor
2020-02-10  3:28     ` Feng Xue OS
2020-02-11 10:05       ` Tamar Christina
2020-02-11 13:10         ` Feng Xue OS
2020-02-11 14:31           ` Tamar Christina
2020-02-13  5:39             ` [PATCH] Fix bug in recursiveness check for function to be cloned (ipa/pr93707) Feng Xue OS
2020-02-17  8:44               ` Tamar Christina
2020-02-18 15:16                 ` Feng Xue OS [this message]
2020-02-19 16:28               ` Martin Jambor
2020-02-20  3:36                 ` Feng Xue OS
2020-02-21 18:16                   ` Martin Jambor
2020-02-22  3:32                     ` Feng Xue OS
2020-02-24 15:41                       ` Martin Jambor
2020-02-20 12:57                 ` Tamar Christina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BYAPR01MB486921741355BA859EC81359F7110@BYAPR01MB4869.prod.exchangelabs.com \
    --to=fxue@os.amperecomputing.com \
    --cc=Tamar.Christina@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=mjambor@suse.cz \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).