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 rtl-optimization/104198] [12 regression] ifcvt change breaks 64-bit SPARC bootstrap
Date: Tue, 08 Feb 2022 19:49:13 +0000	[thread overview]
Message-ID: <bug-104198-4-KYtKr3EQlG@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-104198-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Robin Dapp <rdapp@gcc.gnu.org>:

https://gcc.gnu.org/g:d0d4601ccde3c4849f6e7244035f1a899d608cb7

commit r12-7114-gd0d4601ccde3c4849f6e7244035f1a899d608cb7
Author: Robin Dapp <rdapp@linux.ibm.com>
Date:   Tue Feb 8 16:11:20 2022 +0100

    ifcvt: Fix PR104153 and PR104198.

    This is a bugfix for r12-6747-gaa8cfe785953a0 which caused an ICE
    on or1k (PR104153) and broke SPARC bootstrap (PR104198).

    cond_exec_get_condition () returns the jump condition directly and we
    now pass it to the backend.  The or1k backend modified the condition
    in-place (other backends do that as well) but this modification is not
    reverted when the sequence in question is discarded.  Therefore we copy
    the RTX instead of using it directly.

    The SPARC problem is due to the SPARC backend recreating the initial
    condition when being passed a CC comparison.  This causes the sequence
    to read from an already overwritten condition operand.  Generally, this
    could also happen on other targets.  The workaround is to always first
    emit to a temporary.  In a second run of noce_convert_multiple_sets_1
    we know which sequences actually require the comparison and will use no
    temporaries if all sequences after the current one do not require it.

            PR rtl-optimization/104198
            PR rtl-optimization/104153

    gcc/ChangeLog:

            * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
            using it directly.  Rework comparison handling and always
            perform a second pass.

    gcc/testsuite/ChangeLog:

            * gcc.dg/pr104198.c: New test.

  parent reply	other threads:[~2022-02-08 19:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-24  8:36 [Bug rtl-optimization/104198] New: [12 regression] ifcvf " ro at gcc dot gnu.org
2022-01-24  8:36 ` [Bug rtl-optimization/104198] " ro at gcc dot gnu.org
2022-01-24  8:43 ` pinskia at gcc dot gnu.org
2022-01-24  8:44 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-01-24  9:04 ` ebotcazou at gcc dot gnu.org
2022-01-24  9:06 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-01-24  9:08 ` ebotcazou at gcc dot gnu.org
2022-01-24  9:18 ` rdapp at linux dot ibm.com
2022-01-24  9:23 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-01-24  9:26 ` rguenth at gcc dot gnu.org
2022-01-24 16:54 ` rdapp at linux dot ibm.com
2022-01-25 12:27 ` rdapp at linux dot ibm.com
2022-01-26 17:08 ` rdapp at linux dot ibm.com
2022-01-27  9:36 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-01-27 13:04 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-01-31  7:14 ` [Bug rtl-optimization/104198] [12 regression] ifcvt " rdapp at linux dot ibm.com
2022-01-31 10:13 ` rdapp at linux dot ibm.com
2022-02-01  9:32 ` rdapp at linux dot ibm.com
2022-02-08 19:49 ` cvs-commit at gcc dot gnu.org [this message]
2022-03-07 15:45 ` jakub at gcc dot gnu.org
2022-03-08 11:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
2022-03-08 11:33 ` 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-104198-4-KYtKr3EQlG@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).