public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Hubicka <hubicka@ucw.cz>
To: Martin Jambor <mjambor@suse.cz>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] ipa-sra: Allow IPA-SRA in presence of returns which will be removed
Date: Mon, 25 Sep 2023 10:47:17 +0200	[thread overview]
Message-ID: <ZRFJFb2UJFbB7h5J@kam.mff.cuni.cz> (raw)
In-Reply-To: <ri6jzsn9sv1.fsf@suse.cz>

> >> gcc/ChangeLog:
> >>
> >> 2023-08-18  Martin Jambor  <mjambor@suse.cz>
> >>
> >> 	PR ipa/110378
> >> 	* ipa-param-manipulation.cc
> >> 	(ipa_param_body_adjustments::mark_dead_statements): Verify that any
> >> 	return uses of PARAM will be removed.
> >> 	(ipa_param_body_adjustments::mark_clobbers_dead): Likewise.
> >> 	* ipa-sra.cc (isra_param_desc): New fields
> >> 	remove_only_when_retval_removed and split_only_when_retval_removed.
> >> 	(struct gensum_param_desc): Likewise.  Fix comment long line.
> >> 	(ipa_sra_function_summaries::duplicate): Copy the new flags.
> >> 	(dump_gensum_param_descriptor): Dump the new flags.
> >> 	(dump_isra_param_descriptor): Likewise.
> >> 	(isra_track_scalar_value_uses): New parameter desc.  Set its flag
> >> 	remove_only_when_retval_removed when encountering a simple return.
> >> 	(isra_track_scalar_param_local_uses): Replace parameter call_uses_p
> >> 	with desc.  Pass it to isra_track_scalar_value_uses and set its
> >> 	call_uses.
> >> 	(ptr_parm_has_nonarg_uses): Accept parameter descriptor as a
> >> 	parameter.  If there is a direct return use, mark any..
> >> 	(create_parameter_descriptors): Pass the whole parameter descriptor to
> >> 	isra_track_scalar_param_local_uses and ptr_parm_has_nonarg_uses.
> >> 	(process_scan_results): Copy the new flags.
> >> 	(isra_write_node_summary): Stream the new flags.
> >> 	(isra_read_node_info): Likewise.
> >> 	(adjust_parameter_descriptions): Check that transformations
> >> 	requring return removal only happen when return value is removed.
> >> 	Restructure main loop.  Adjust dump message.
> >>
> >> gcc/testsuite/ChangeLog:
> >>
> >> 2023-08-18  Martin Jambor  <mjambor@suse.cz>
> >>
> >> 	PR ipa/110378
> >> 	* gcc.dg/ipa/ipa-sra-32.c: New test.
> >> 	* gcc.dg/ipa/pr110378-4.c: Likewise.
> >> 	* gcc.dg/ipa/ipa-sra-4.c: Use a return value.
> >> ---
> >>  gcc/ipa-param-manipulation.cc         |   7 +-
> >>  gcc/ipa-sra.cc                        | 247 +++++++++++++++++---------
> >>  gcc/testsuite/gcc.dg/ipa/ipa-sra-32.c |  30 ++++
> >>  gcc/testsuite/gcc.dg/ipa/ipa-sra-4.c  |   4 +-
> >>  gcc/testsuite/gcc.dg/ipa/pr110378-4.c |  50 ++++++
> >>  5 files changed, 251 insertions(+), 87 deletions(-)
> >>  create mode 100644 gcc/testsuite/gcc.dg/ipa/ipa-sra-32.c
> >>  create mode 100644 gcc/testsuite/gcc.dg/ipa/pr110378-4.c
> >>

OK,
Thanks
Honza

  reply	other threads:[~2023-09-25  8:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-18 19:36 Martin Jambor
2023-09-25  8:47 ` Jan Hubicka [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-08-18 20:49 Martin Jambor
2023-09-01 13:30 ` Martin Jambor

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=ZRFJFb2UJFbB7h5J@kam.mff.cuni.cz \
    --to=hubicka@ucw.cz \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=mjambor@suse.cz \
    /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).