public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "danglin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/98689] [11 Regression] FAIL: gcc.dg/torture/stackalign/builtin-return-1.c   -O1  execution test
Date: Sat, 23 Jan 2021 23:28:34 +0000	[thread overview]
Message-ID: <bug-98689-4-VYpMhTXPHU@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-98689-4@http.gcc.gnu.org/bugzilla/>

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

John David Anglin <danglin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at sources dot redhat.com
          Component|other                       |middle-end

--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> ---
Introduced by the following commit:

commit 0b76990a9d75d97b84014e37519086b81824c307 (HEAD)
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Thu Dec 17 00:15:12 2020 +0000

    fwprop: Rewrite to use RTL SSA

    This patch rewrites fwprop.c to use the RTL SSA framework.  It tries
    as far as possible to mimic the old behaviour, even in caes where
    that doesn't fit naturally with the new framework.  I've added ???
    comments to mark those places, but I think <E2><80><9C>fixing<E2><80><9D>
them should
    be done separately to make bisection easier.

    In particular:

    * The old implementation iterated over uses, and after a successful
      substitution, the new insn's uses were added to the end of the list.
      The pass still processed those uses, but because it processed them at
      the end, it didn't fully optimise one instruction before propagating
      it into the next.

      The new version follows the same approach for comparison purposes,
      but I'd like to drop that as a follow-on patch.

    * The old implementation operated on single use sites (DF_REF_LOCs).
      This doesn't work well for instructions with match_dups, where it's
      necessary to update both an operand and its dups at the same time.
      For example, attempting to substitute into a divmod instruction would
      fail because only the div or the mod side would be updated.

      The new version again follows this to some extent for comparison
      purposes (although not exactly).  Again I'd like to drop it as a
      follow-on patch.

      One difference is that if a register occurs in multiple MEM addresses
      in a set, the new version will try to update them all at once.  This is
      what causes the SVE ACLE st4* output to improve.

    Also, the old version didn't naturally guarantee termination (PR79405),
    whereas the new one does.

    gcc/
            * fwprop.c: Rewrite to use the RTL SSA framework.

    gcc/testsuite/
            * gcc.dg/rtl/x86_64/test-return-const.c.before-fwprop.c: Don't
            expect insn updates to be deferred.
            * gcc.target/aarch64/sve/acle/asm/st4_s8.c: Expect the addition
            to be folded into the address.
            * gcc.target/aarch64/sve/acle/asm/st4_u8.c: Likewise.

  parent reply	other threads:[~2021-01-23 23:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 19:25 [Bug other/98689] New: " danglin at gcc dot gnu.org
2021-01-21 15:21 ` [Bug other/98689] [11 Regression] " danglin at gcc dot gnu.org
2021-01-23 23:28 ` danglin at gcc dot gnu.org [this message]
2021-01-25 13:27 ` [Bug middle-end/98689] " rguenth at gcc dot gnu.org
2021-02-11 10:49 ` jakub at gcc dot gnu.org
2021-03-06 21:41 ` danglin at gcc dot gnu.org
2021-03-30 12:10 ` rsandifo at gcc dot gnu.org
2021-04-16 11:38 ` cvs-commit at gcc dot gnu.org
2021-04-16 11:41 ` rsandifo 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-98689-4-VYpMhTXPHU@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).