From: Jeff Law <jeffreyalaw@gmail.com>
To: Robin Dapp <rdapp.gcc@gmail.com>,
Manolis Tsamis <manolis.tsamis@vrull.eu>,
gcc-patches@gcc.gnu.org,
Philipp Tomsich <philipp.tomsich@vrull.eu>,
Jakub Jelinek <jakub@redhat.com>,
richard.sandiford@arm.com
Subject: Re: [PATCH v3 1/4] ifcvt: handle sequences that clobber flags in noce_convert_multiple_sets
Date: Fri, 10 Nov 2023 14:31:14 -0700 [thread overview]
Message-ID: <4bd5dcc7-8117-4c83-a99f-371d57f40cab@gmail.com> (raw)
In-Reply-To: <6cf3deca-2edc-419a-a66c-b987324e3da9@gmail.com>
On 10/20/23 01:04, Robin Dapp wrote:
>
>> But I'm not sure which cases this code is trying to catch. Is it trying
>> to catch cases where seq2 "spontaneously" uses registers that happen to
>> overlap with cond? If so, then when does that happen? And if it does
>> happen, wouldn't the sequence also have to set the registers first?
>
> In order for sequence costing to be superior to just counting "conditional"
> instructions we need to make sure that as few redundant instructions as
> possible are present in the costed sequences. (redundant as in "will be
> removed in a subsequent pass").
[ ... ]
Sounds a lot like a scenario we had with threading. Threading will
often generate code in duplicated blocks that will trivially be eliminated.
IIRC I had Alex O. tackle that in threading several years back with good
success. I don't think he tried to be exhaustive, just sensible in what
was likely to be dead after threading. It helped numerous cases where
we clearly should have threaded, but weren't because of artificially
high costing.
It's not a trivial balancing act.
Jeff
next prev parent reply other threads:[~2023-11-10 21:31 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-30 10:13 [PATCH v3 0/4] ifcvt: Allow if conversion of arithmetic in basic blocks with multiple sets Manolis Tsamis
2023-08-30 10:13 ` [PATCH v3 1/4] ifcvt: handle sequences that clobber flags in noce_convert_multiple_sets Manolis Tsamis
2023-10-19 19:41 ` Richard Sandiford
2023-10-20 7:04 ` Robin Dapp
2023-10-20 9:16 ` Richard Sandiford
2023-11-10 21:48 ` Jeff Law
2023-11-10 21:31 ` Jeff Law [this message]
2023-11-10 21:25 ` Jeff Law
2024-04-23 10:58 ` Manolis Tsamis
2023-08-30 10:13 ` [PATCH v3 2/4] ifcvt: Allow more operations in multiple set if conversion Manolis Tsamis
2023-10-19 19:46 ` Richard Sandiford
2023-11-10 21:53 ` Jeff Law
2023-11-13 12:47 ` Manolis Tsamis
2024-04-23 11:00 ` Manolis Tsamis
2023-08-30 10:13 ` [PATCH v3 3/4] ifcvt: Handle multiple rewired regs and refactor noce_convert_multiple_sets Manolis Tsamis
2023-11-10 23:20 ` Jeff Law
2023-11-13 12:40 ` Manolis Tsamis
2023-11-21 18:10 ` Manolis Tsamis
2023-08-30 10:14 ` [PATCH v3 4/4] ifcvt: Remove obsolete code for subreg handling in noce_convert_multiple_sets Manolis Tsamis
2023-11-10 22:03 ` Jeff Law
2023-11-13 12:43 ` Manolis Tsamis
2023-11-21 18:08 ` Manolis Tsamis
2023-09-18 8:18 ` [PATCH v3 0/4] ifcvt: Allow if conversion of arithmetic in basic blocks with multiple sets Manolis Tsamis
2023-10-19 6:53 ` Manolis Tsamis
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=4bd5dcc7-8117-4c83-a99f-371d57f40cab@gmail.com \
--to=jeffreyalaw@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
--cc=manolis.tsamis@vrull.eu \
--cc=philipp.tomsich@vrull.eu \
--cc=rdapp.gcc@gmail.com \
--cc=richard.sandiford@arm.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).