public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <jeffreyalaw@gmail.com>
To: Aldy Hernandez <aldyh@redhat.com>,
	Richard Biener <richard.guenther@gmail.com>
Cc: GCC patches <gcc-patches@gcc.gnu.org>,
	"MacLeod, Andrew" <amacleod@redhat.com>
Subject: Re: [PATCH] Reset relations when crossing backedges.
Date: Mon, 24 Jan 2022 15:58:53 -0700	[thread overview]
Message-ID: <5f763169-f760-6ac8-fff2-645bbd3eca5d@gmail.com> (raw)
In-Reply-To: <CAGm3qMUUif_YBA8NCwJr0TVk8H616Wo8A-nNv3BY+JFEYtpnNg@mail.gmail.com>



On 1/21/2022 3:29 AM, Aldy Hernandez wrote:
> On Fri, Jan 21, 2022 at 10:43 AM Richard Biener
> <richard.guenther@gmail.com> wrote:
>> On Fri, Jan 21, 2022 at 9:30 AM Aldy Hernandez via Gcc-patches
>> <gcc-patches@gcc.gnu.org> wrote:
>>> As discussed in PR103721, the problem here is that we are crossing a
>>> backedge and causing us to use relations from a previous iteration of a
>>> loop.
>>>
>>> This handles the testcases in both PR103721 and PR104067 which are variants
>>> of the same thing.
>>>
>>> Tested on x86-64 Linux with the usual regstrap as well as verifying the
>>> thread count before and after the patch.  The number of threads is
>>> reduced by a miniscule amount.
>>>
>>> I assume we need release manager approval at this point?  OK for trunk?
>> Not for regression fixes.
> OK, I've pushed it to fix the P1s.  We can continue refining the
> solution in a follow-up patch.
>
>> Btw, I wonder whether you have to treat irreducible regions in the same
>> way more generally - which edges are marked as backedge there depends
>> on which edge into the region was visited first.  I also wonder how we
> Jeff, Andrew??
I think this comes down to the dominator discussion we were having in 
BZ.   My understanding from reading Andrew's messages is that need to 
reset relations when we cross an edge where the source of the edge does 
not dominate the destination of the edge.   That would solve the loop 
problem,  the irreducible region problem and I think other possibly 
latent problems with threading & relations.

Jeff

  parent reply	other threads:[~2022-01-24 22:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-21  8:29 Aldy Hernandez
2022-01-21  9:43 ` Richard Biener
2022-01-21 10:29   ` Aldy Hernandez
2022-01-21 10:56     ` Richard Biener
2022-01-21 12:11       ` Aldy Hernandez
2022-01-24  8:50         ` Richard Biener
2022-01-24 19:20           ` Aldy Hernandez
2022-02-01 18:41             ` Aldy Hernandez
2022-02-02  9:27               ` Richard Biener
2022-03-19 19:27                 ` Jeff Law
2022-03-21  7:49                   ` Richard Biener
2022-01-24 22:58     ` Jeff Law [this message]
2022-02-09 17:43 ` 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=5f763169-f760-6ac8-fff2-645bbd3eca5d@gmail.com \
    --to=jeffreyalaw@gmail.com \
    --cc=aldyh@redhat.com \
    --cc=amacleod@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=richard.guenther@gmail.com \
    /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).