public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/98690] [10/11 Regression] unexpected "'removed_return.213' may be used uninitialized in this function" causes crash since r10-3311-gff6686d2e5f797d6
Date: Tue, 19 Jan 2021 10:34:17 +0000	[thread overview]
Message-ID: <bug-98690-4-dvPcFQApKQ@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-98690-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98690

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Jambor <jamborm@gcc.gnu.org>:

https://gcc.gnu.org/g:9b8741c98f2876a430c12c85b396d29a87c9c488

commit r11-6786-g9b8741c98f2876a430c12c85b396d29a87c9c488
Author: Martin Jambor <mjambor@suse.cz>
Date:   Tue Jan 19 11:28:48 2021 +0100

    ipa-sra: Do not remove return values needed because of non-call EH

    IPA-SRA already contains a check to figure out that an otherwise dead
    parameter is actually required because of non-call exceptions, but it
    is not present at the equivalent spot where SRA figures out whether
    the return statement is used for anything useful.  This patch adds
    that condition there.

    Unfortunately, even though this patch should be good enough for any
    normal (I'd even say reasonable) use of the compiler, it hints that
    when the user manually switches all sorts of DCE, IPA-SRA would
    probably leave behind problematic statements manipulating what
    originally were return values, just like it does for parameters (PR
    93385).  Fixing this properly might unfortunately be a separate issue
    from the mentioned bug because the LHS of a call is changed during
    call redirection and the caller often is not a clone.  But I'll see
    what I can do.

    Meanwhile, the patch below has been bootstrapped and tested on x86_64.

    gcc/ChangeLog:

    2021-01-18  Martin Jambor  <mjambor@suse.cz>

            PR ipa/98690
            * ipa-sra.c (ssa_name_only_returned_p): New parameter fun.  Check
            whether non-call exceptions allow removal of a statement.
            (isra_analyze_call): Pass the appropriate function to
            ssa_name_only_returned_p.

    gcc/testsuite/ChangeLog:

    2021-01-18  Martin Jambor  <mjambor@suse.cz>

            PR ipa/98690
            * g++.dg/ipa/pr98690.C: New test.

  parent reply	other threads:[~2021-01-19 10:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 19:48 [Bug c++/98690] New: unexpected "'removed_return.213' may be used uninitialized in this function" causes crash savoiu at yahoo dot com
2021-01-15  8:29 ` [Bug ipa/98690] [10/11 Regression] " rguenth at gcc dot gnu.org
2021-01-15  8:40 ` [Bug ipa/98690] [10/11 Regression] unexpected "'removed_return.213' may be used uninitialized in this function" causes crash since r10-3311-gff6686d2e5f797d6 marxin at gcc dot gnu.org
2021-01-18 19:27 ` jamborm at gcc dot gnu.org
2021-01-19 10:34 ` cvs-commit at gcc dot gnu.org [this message]
2021-01-19 14:54 ` cvs-commit at gcc dot gnu.org
2021-01-21 11:58 ` jakub at gcc dot gnu.org

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=bug-98690-4-dvPcFQApKQ@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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).