From: Richard Sandiford <richard.sandiford@arm.com>
To: Thomas Schwinge <tschwinge@baylibre.com>
Cc: jlaw@ventanamicro.com, gcc-patches@gcc.gnu.org,
sjames@gcc.gnu.org, seurer@gcc.gnu.org
Subject: Re: [PATCH 6/6] Add a late-combine pass [PR106594]
Date: Tue, 25 Jun 2024 10:07:47 +0100 [thread overview]
Message-ID: <mptfrt1s84c.fsf@arm.com> (raw)
In-Reply-To: <87ed8lxun5.fsf@euler.schwinge.ddns.net> (Thomas Schwinge's message of "Tue, 25 Jun 2024 11:02:22 +0200")
Thomas Schwinge <tschwinge@baylibre.com> writes:
> Hi!
>
> On 2024-06-20T14:34:18+0100, Richard Sandiford <richard.sandiford@arm.com> wrote:
>> This patch adds a combine pass that runs late in the pipeline.
>> [...]
>
> Nice!
>
>> The patch [...] disables the pass by default on i386, rs6000
>> and xtensa.
>
> Like here:
>
>> --- a/gcc/config/i386/i386-options.cc
>> +++ b/gcc/config/i386/i386-options.cc
>> @@ -1942,6 +1942,10 @@ ix86_override_options_after_change (void)
>> flag_cunroll_grow_size = flag_peel_loops || optimize >= 3;
>> }
>>
>> + /* Late combine tends to undo some of the effects of STV and RPAD,
>> + by combining instructions back to their original form. */
>> + if (!OPTION_SET_P (flag_late_combine_instructions))
>> + flag_late_combine_instructions = 0;
>> }
>
> ..., I think also here:
>
>> --- a/gcc/config/rs6000/rs6000.cc
>> +++ b/gcc/config/rs6000/rs6000.cc
>> @@ -4768,6 +4768,14 @@ rs6000_option_override_internal (bool global_init_p)
>> targetm.expand_builtin_va_start = NULL;
>> }
>>
>> + /* One of the late-combine passes runs after register allocation
>> + and can match define_insn_and_splits that were previously used
>> + only before register allocation. Some of those define_insn_and_splits
>> + use gen_reg_rtx unconditionally. Disable late-combine by default
>> + until the define_insn_and_splits are fixed. */
>> + if (!OPTION_SET_P (flag_late_combine_instructions))
>> + flag_late_combine_instructions = 0;
>> +
>> rs6000_override_options_after_change ();
>
> ..., this needs to be done in 'rs6000_override_options_after_change'
> instead of 'rs6000_option_override_internal', to address the PRs under
> discussion. I'm testing such a patch.
Oops! Sorry about that, and thanks for tracking it down.
Richard
next prev parent reply other threads:[~2024-06-25 9:07 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-20 13:34 [PATCH 0/6] Add a late-combine pass Richard Sandiford
2024-06-20 13:34 ` [PATCH 1/6] rtl-ssa: Rework _ignoring interfaces Richard Sandiford
2024-06-20 21:22 ` Alex Coplan
2024-06-21 8:11 ` Richard Sandiford
2024-06-21 14:40 ` Jeff Law
2024-06-20 13:34 ` [PATCH 2/6] rtl-ssa: Don't cost no-op moves Richard Sandiford
2024-06-21 14:32 ` Jeff Law
2024-06-20 13:34 ` [PATCH 3/6] iq2000: Fix test and branch instructions Richard Sandiford
2024-06-21 14:33 ` Jeff Law
2024-06-20 13:34 ` [PATCH 4/6] sh: Make *minus_plus_one work after RA Richard Sandiford
2024-06-21 0:15 ` Oleg Endo
2024-06-20 13:34 ` [PATCH 5/6] xstormy16: Fix xs_hi_nonmemory_operand Richard Sandiford
2024-06-21 14:33 ` Jeff Law
2024-06-20 13:34 ` [PATCH 6/6] Add a late-combine pass [PR106594] Richard Sandiford
2024-06-21 0:17 ` Oleg Endo
2024-06-21 8:09 ` Richard Sandiford
2024-06-21 5:54 ` Richard Biener
2024-06-21 8:21 ` Richard Sandiford
2024-06-21 9:26 ` Richard Biener
2024-06-21 15:00 ` Jeff Law
2024-06-22 5:12 ` Takayuki 'January June' Suwa
2024-06-22 16:49 ` Richard Sandiford
2024-06-23 4:40 ` Takayuki 'January June' Suwa
2024-06-23 9:34 ` Richard Biener
2024-06-24 8:03 ` Richard Sandiford
2024-06-24 11:22 ` Richard Biener
2024-06-24 11:34 ` Richard Sandiford
2024-06-24 12:18 ` Richard Biener
2024-06-25 9:02 ` Thomas Schwinge
2024-06-25 9:07 ` Richard Sandiford [this message]
2024-06-25 9:23 ` rs6000: Properly default-disable late-combine passes [PR106594, PR115622, PR115633] (was: [PATCH 6/6] Add a late-combine pass [PR106594]) Thomas Schwinge
2024-06-25 9:28 ` rs6000: Properly default-disable late-combine passes [PR106594, PR115622, PR115633] Richard Sandiford
2024-06-28 12:25 ` LoongArch vs. [PATCH 0/6] Add a late-combine pass Xi Ruoyao
2024-06-28 12:34 ` chenglulu
2024-06-28 12:35 ` Xi Ruoyao
2024-06-28 12:44 ` chenglulu
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=mptfrt1s84c.fsf@arm.com \
--to=richard.sandiford@arm.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jlaw@ventanamicro.com \
--cc=seurer@gcc.gnu.org \
--cc=sjames@gcc.gnu.org \
--cc=tschwinge@baylibre.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).