aarch64: Re-enable ldp/stp fusion pass

Message ID ZbDLkK7/Lmh3nwP7@arm.com
State Unresolved
Headers
Series aarch64: Re-enable ldp/stp fusion pass |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Alex Coplan Jan. 24, 2024, 8:34 a.m. UTC
  Hi,

Since, to the best of my knowledge, all reported regressions related to
the ldp/stp fusion pass have now been fixed, and PGO+LTO bootstrap with
--enable-languages=all is working again with the passes enabled, this
patch turns the passes back on by default, as agreed with Jakub here:

https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642478.html

Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk?

Thanks,
Alex

gcc/ChangeLog:

	* config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default
	to 1.
	(-mlate-ldp-fusion): Likewise.
  

Comments

Kyrylo Tkachov Jan. 24, 2024, 9:15 a.m. UTC | #1
Hi Alex,

> -----Original Message-----
> From: Alex Coplan <Alex.Coplan@arm.com>
> Sent: Wednesday, January 24, 2024 8:34 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>; Richard Sandiford
> <Richard.Sandiford@arm.com>; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>;
> Jakub Jelinek <jakub@redhat.com>
> Subject: [PATCH] aarch64: Re-enable ldp/stp fusion pass
> 
> Hi,
> 
> Since, to the best of my knowledge, all reported regressions related to
> the ldp/stp fusion pass have now been fixed, and PGO+LTO bootstrap with
> --enable-languages=all is working again with the passes enabled, this
> patch turns the passes back on by default, as agreed with Jakub here:
> 
> https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642478.html
> 
> Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk?
> 

If we were super-pedantic about the GCC rules we could say that this is a revert of 8ed77a2356c3562f96c64f968e7529065c128c6a and therefore:
"Similarly, no outside approval is needed to revert a patch that you checked in." 😊
But that would go against the spirit of the rule.
Anyway, this is ok. Thanks for working through the regressions so diligently.
Kyrill

> Thanks,
> Alex
> 
> gcc/ChangeLog:
> 
> 	* config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default
> 	to 1.
> 	(-mlate-ldp-fusion): Likewise.
  
Alex Coplan Jan. 24, 2024, 9:34 a.m. UTC | #2
On 24/01/2024 09:15, Kyrylo Tkachov wrote:
> Hi Alex,
> 
> > -----Original Message-----
> > From: Alex Coplan <Alex.Coplan@arm.com>
> > Sent: Wednesday, January 24, 2024 8:34 AM
> > To: gcc-patches@gcc.gnu.org
> > Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>; Richard Sandiford
> > <Richard.Sandiford@arm.com>; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>;
> > Jakub Jelinek <jakub@redhat.com>
> > Subject: [PATCH] aarch64: Re-enable ldp/stp fusion pass
> > 
> > Hi,
> > 
> > Since, to the best of my knowledge, all reported regressions related to
> > the ldp/stp fusion pass have now been fixed, and PGO+LTO bootstrap with
> > --enable-languages=all is working again with the passes enabled, this
> > patch turns the passes back on by default, as agreed with Jakub here:
> > 
> > https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642478.html
> > 
> > Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk?
> > 
> 
> If we were super-pedantic about the GCC rules we could say that this is a revert of 8ed77a2356c3562f96c64f968e7529065c128c6a and therefore:
> "Similarly, no outside approval is needed to revert a patch that you checked in." 😊
> But that would go against the spirit of the rule.

Heh, definitely seems against the spirit of the rule.

> Anyway, this is ok. Thanks for working through the regressions so diligently.

Thanks! Pushed as g:da9647e98aa289ba3aba41cf5bbe14d0f5f27e77.

I'll keep an eye on gcc-bugs for any further fallout.

Alex

> Kyrill
> 
> > Thanks,
> > Alex
> > 
> > gcc/ChangeLog:
> > 
> > 	* config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default
> > 	to 1.
> > 	(-mlate-ldp-fusion): Likewise.
  

Patch

diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index c495cb34fbf..ceed5cdb201 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -290,12 +290,12 @@  Target Var(aarch64_track_speculation)
 Generate code to track when the CPU might be speculating incorrectly.
 
 mearly-ldp-fusion
-Target Var(flag_aarch64_early_ldp_fusion) Optimization Init(0)
+Target Var(flag_aarch64_early_ldp_fusion) Optimization Init(1)
 Enable the copy of the AArch64 load/store pair fusion pass that runs before
 register allocation.
 
 mlate-ldp-fusion
-Target Var(flag_aarch64_late_ldp_fusion) Optimization Init(0)
+Target Var(flag_aarch64_late_ldp_fusion) Optimization Init(1)
 Enable the copy of the AArch64 load/store pair fusion pass that runs after
 register allocation.