public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Aldy Hernandez <aldyh@redhat.com>
To: Jeff Law <jeffreyalaw@gmail.com>
Cc: Richard Biener <richard.guenther@gmail.com>,
	GCC patches <gcc-patches@gcc.gnu.org>,
	 Andrew MacLeod <amacleod@redhat.com>
Subject: Re: [RFC] Remove VRP threader passes in exchange for better threading pre-VRP.
Date: Wed, 20 Oct 2021 11:27:50 +0200	[thread overview]
Message-ID: <CAGm3qMVmRgPPTbN1enz0F64i2RSY9yV6bbk92wuP2E_RxMugkQ@mail.gmail.com> (raw)
In-Reply-To: <ae5e0dbd-0be6-8326-64ba-712bc48bc969@gmail.com>

On Wed, Oct 20, 2021 at 1:00 AM Jeff Law <jeffreyalaw@gmail.com> wrote:
>
>
>
> On 10/18/2021 8:03 AM, Aldy Hernandez wrote:
> >
> >
> > On 10/18/21 3:41 PM, Aldy Hernandez wrote:
> >
> >> I've been experimenting with reducing the total number of threading
> >> passes, and I'd like to see if there's consensus/stomach for altering
> >> the pipeline.  Note, that the goal is to remove forward threader
> >> clients,
> >> not the other way around.  So, we should prefer to remove a VRP threader
> >> instance over a *.thread one immediately before VRP.
> >>
> >> After some playing, it looks like if we enable fully-resolving mode in
> >> the *.thread passes immediately preceeding VRP, we can remove the VRP
> >> threading passes altogether, thus removing 2 threading passes (and
> >> forward threading passes at that!).
> >
> > It occurs to me that we could also remove the threading before VRP
> > passes, and enable a fully-resolving backward threader after VRP. I
> > haven't played with this scenario, but it should be just as good.
> > That being said, I don't know the intricacies of why we had both pre
> > and post VRP threading passes, and if one is ideally better than the
> > other.
> The only post-VRP threading pass that (in my mind) makes sense is the
> one sitting between VRP and DOM and it should replace the DOM based
> threader.

Yes, that's the goal, but it won't happen on this release because of
floats.  The DOM threader uses the const/avails machinery to thread
conditionals involving floats, something the path solver can't do
because it depends on gori/ranger.  Adding floats to ranger is
probably our #1 task for the next cycle.

Now before Andrew gets clever, the relation oracle is technically type
agnostic, so it could theoretically be possible to use it in the DOM
threader and replace all the const/avails stuff.  But I'd like to go
on vacation at some point ;-).

Aldy


  reply	other threads:[~2021-10-20  9:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 13:41 Aldy Hernandez
2021-10-18 14:03 ` Aldy Hernandez
2021-10-19  6:52   ` Richard Biener
2021-10-19  7:33     ` Aldy Hernandez
2021-10-19  8:40       ` Richard Biener
2021-10-19  9:06         ` Aldy Hernandez
2021-10-19  9:16           ` Aldy Hernandez
2021-10-19 23:06       ` Jeff Law
2021-10-19 23:00   ` Jeff Law
2021-10-20  9:27     ` Aldy Hernandez [this message]
2021-10-20 12:32       ` Andrew MacLeod
2021-10-20 13:08         ` Aldy Hernandez
2021-10-20 17:55       ` Jeff Law
2021-10-19 22:58 ` Jeff Law

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=CAGm3qMVmRgPPTbN1enz0F64i2RSY9yV6bbk92wuP2E_RxMugkQ@mail.gmail.com \
    --to=aldyh@redhat.com \
    --cc=amacleod@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jeffreyalaw@gmail.com \
    --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).