public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/99863] [10/11 Regression] wrong code with -O -fno-tree-forwprop -mno-sse2 since r10-7268-g529ea7d9596b26ba
Date: Thu, 01 Apr 2021 13:23:10 +0000	[thread overview]
Message-ID: <bug-99863-4-2Ws9ZPqWLT@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-99863-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, I think we want to do:
--- gcc/dse.c.jj        2021-01-28 09:59:11.973750676 +0100
+++ gcc/dse.c   2021-04-01 15:16:22.003913061 +0200
@@ -1970,8 +1970,7 @@ get_stored_val (store_info *store_info,

 static bool
 replace_read (store_info *store_info, insn_info_t store_insn,
-             read_info_t read_info, insn_info_t read_insn, rtx *loc,
-             bitmap regs_live)
+             read_info_t read_info, insn_info_t read_insn, rtx *loc)
 {
   machine_mode store_mode = GET_MODE (store_info->mem);
   machine_mode read_mode = GET_MODE (read_info->mem);
@@ -2040,7 +2039,8 @@ replace_read (store_info *store_info, in
          note_stores (this_insn, look_for_hardregs, regs_set);
        }

-      bitmap_and_into (regs_set, regs_live);
+      if (store_insn->fixed_regs_live)
+       bitmap_and_into (regs_set, store_insn->fixed_regs_live);
       if (!bitmap_empty_p (regs_set))
        {
          if (dump_file && (dump_flags & TDF_DETAILS))
@@ -2286,7 +2286,7 @@ check_mem_read_rtx (rtx *loc, bb_info_t
                                                 offset - store_info->offset,
                                                 width)
                      && replace_read (store_info, i_ptr, read_info,
-                                      insn_info, loc, bb_info->regs_live))
+                                      insn_info, loc))
                    return;

                  /* The bases are the same, just see if the offsets
@@ -2352,8 +2352,7 @@ check_mem_read_rtx (rtx *loc, bb_info_t
                                   store_info->width)
              && all_positions_needed_p (store_info,
                                         offset - store_info->offset, width)
-             && replace_read (store_info, i_ptr,  read_info, insn_info, loc,
-                              bb_info->regs_live))
+             && replace_read (store_info, i_ptr,  read_info, insn_info, loc))
            return;

          remove = canon_true_dependence (store_info->mem,
to fix this.  Perhaps together with filling fixed_regs_live on more stores,
currently we fill it in only for insn with exactly one store or on memset
calls, perhaps we want to fill it on insns with more than one store?

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

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  8:44 [Bug target/99863] New: [10/11 Regression] wrong code with -O -fno-tree-forwprop -mno-sse2 zsojka at seznam dot cz
2021-04-01  9:01 ` [Bug target/99863] " rguenth at gcc dot gnu.org
2021-04-01  9:14 ` rguenth at gcc dot gnu.org
2021-04-01  9:58 ` rguenth at gcc dot gnu.org
2021-04-01 10:02 ` [Bug target/99863] [10/11 Regression] wrong code with -O -fno-tree-forwprop -mno-sse2 since r10-7268-g529ea7d9596b26ba marxin at gcc dot gnu.org
2021-04-01 10:24 ` rguenth at gcc dot gnu.org
2021-04-01 10:45 ` [Bug rtl-optimization/99863] " rguenth at gcc dot gnu.org
2021-04-01 10:47 ` cvs-commit at gcc dot gnu.org
2021-04-01 11:16 ` ebotcazou at gcc dot gnu.org
2021-04-01 11:28 ` ebotcazou at gcc dot gnu.org
2021-04-01 12:26 ` jakub at gcc dot gnu.org
2021-04-01 12:45 ` rguenther at suse dot de
2021-04-01 13:01 ` jakub at gcc dot gnu.org
2021-04-01 13:23 ` jakub at gcc dot gnu.org [this message]
2021-04-01 13:27 ` jakub at gcc dot gnu.org
2021-04-01 13:32 ` rguenther at suse dot de
2021-04-01 13:35 ` jakub at gcc dot gnu.org
2021-04-01 13:54 ` jakub at gcc dot gnu.org
2021-04-03  8:07 ` cvs-commit at gcc dot gnu.org
2021-04-03  8:16 ` [Bug rtl-optimization/99863] [10 " jakub at gcc dot gnu.org
2021-04-08 12:02 ` rguenth at gcc dot gnu.org
2021-04-20  9:45 ` cvs-commit at gcc dot gnu.org
2021-04-20  9:50 ` jakub at gcc dot gnu.org
2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
2021-04-22 16:52 ` cvs-commit 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-99863-4-2Ws9ZPqWLT@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).