[PATCH] aarch64: Check the ldp/stp policy model correctly when mem ops are reversed.

2024-01-17 Thread Manos Anagnostakis
framework moved later. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis --- gcc/config/aarch64/aarch64-ldpstp.md | 22 +++--- gcc/config/aarch64/aarch64-protos.h | 2 +- gcc/config/aarch64/aarch64.cc| 18 +- 3 files changed, 21 insertions

Re: [PATCH v6] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-08 Thread Manos Anagnostakis
> > On Wed, Dec 6, 2023 at 7:44 PM Philipp Tomsich < > philipp.toms...@vrull.eu> wrote: > > >> > > >> On Wed, 6 Dec 2023 at 23:32, Richard Biener < > richard.guent...@gmail.com> wrote: > > >> > > > >> > On Wed, Dec 6, 2

Re: [PATCH v6] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-07 Thread Manos Anagnostakis
Στις Πέμ 7 Δεκ 2023, 09:39 ο χρήστης Richard Biener < richard.guent...@gmail.com> έγραψε: > On Wed, Dec 6, 2023 at 6:15 PM Manos Anagnostakis > wrote: > > > > Hi again, > > > > I went and tested the requested changes and found out the following: > &g

Re: [PATCH v6] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-06 Thread Manos Anagnostakis
if I do this only for loads/stores. Thanks in advance and please let me know your thoughts on the above. Manos. On Wed, Dec 6, 2023 at 5:10 PM Manos Anagnostakis < manos.anagnosta...@vrull.eu> wrote: > Hi Richard, > > thanks for the useful comments. > > On Wed, Dec 6, 2023

Re: [PATCH v6] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-06 Thread Manos Anagnostakis
Hi Richard, thanks for the useful comments. On Wed, Dec 6, 2023 at 4:32 PM Richard Biener wrote: > On Wed, Dec 6, 2023 at 2:48 PM Manos Anagnostakis > wrote: > > > > This is an RTL pass that detects store forwarding from stores to larger > loads (load pairs). > &g

[PATCH v6] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-06 Thread Manos Anagnostakis
: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich --- Changes in v6: - An obvious change. insn_cnt was incremented only on stores and not for every insn in the

Re: [PATCH v4] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-05 Thread Manos Anagnostakis
n top of your sme2 changes and submitted as v5. Thanks! Manos. On Mon, Dec 4, 2023 at 10:35 PM Richard Sandiford wrote: > Manos Anagnostakis writes: > > Στις Δευ 4 Δεκ 2023, 21:22 ο χρήστης Richard Sandiford < > > richard.sandif...@arm.com> έγραψε: > > > >> M

[PATCH v5] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-05 Thread Manos Anagnostakis
: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich --- Changes in v5: - Remove unnecessary cselib_lookup on load_mem_addr. - Fix warning with store_info by

Re: [PATCH v4] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-04 Thread Manos Anagnostakis
Στις Δευ 4 Δεκ 2023, 21:22 ο χρήστης Richard Sandiford < richard.sandif...@arm.com> έγραψε: > Manos Anagnostakis writes: > > This is an RTL pass that detects store forwarding from stores to larger > loads (load pairs). > > > > This optimization is SPEC2017-driven

[PATCH v4] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-12-04 Thread Manos Anagnostakis
: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich --- Changes in v4: - I had problems to make cselib_subst_to_values work correctly so I used cselib_lookup to

[PATCH v3] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-11-30 Thread Manos Anagnostakis
: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich --- Changes in v3: - Removed obvious zext/sext check in SET_DEST. - Replaced map/vector with list/struct

[PATCH v2] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-11-28 Thread Manos Anagnostakis
: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich --- Changes in v2: - Remove usage of memrefs_conflict_p with the helper check_memory_reg_ovewrite, which

Re: [PATCH] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-11-13 Thread Manos Anagnostakis
Hi Richard, thank you for reviewing the patch. On Sat, Nov 11, 2023 at 6:57 PM Richard Sandiford wrote: > Thanks for the patch. > > Manos Anagnostakis writes: > > This is an RTL pass that detects store forwarding from stores to larger > loads (load pairs). > >

[PATCH] aarch64: New RTL optimization pass avoid-store-forwarding.

2023-11-07 Thread Manos Anagnostakis
: * gcc.target/aarch64/ldp_ssll_no_overlap_address.c: New test. * gcc.target/aarch64/ldp_ssll_no_overlap_offset.c: New test. * gcc.target/aarch64/ldp_ssll_overlap.c: New test. Signed-off-by: Manos Anagnostakis Co-Authored-By: Manolis Tsamis Co-Authored-By: Philipp Tomsich

[PATCH v2] aarch64: Improve on ldp-stp policies code structure.

2023-09-29 Thread Manos Anagnostakis
ldp_unaligned. * gcc.target/aarch64/stp_aligned.c: Splitted into this and stp_unaligned. * gcc.target/aarch64/ldp_unaligned.c: New test. * gcc.target/aarch64/stp_unaligned.c: New test. Signed-off-by: Manos Anagnostakis --- gcc/config/aarch64/aarch64-opts.h

[PATCH] aarch64: Improve on ldp-stp policies code structure.

2023-09-28 Thread Manos Anagnostakis
/ldp_unaligned.c: New test. * gcc.target/aarch64/stp_unaligned.c: New test. Signed-off-by: Manos Anagnostakis --- gcc/config/aarch64/aarch64-opts.h | 16 +- gcc/config/aarch64/aarch64-protos.h | 30 +-- gcc/config/aarch64/aarch64.cc | 184

Re: [PATCH v2] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-09-28 Thread Manos Anagnostakis
No problem! I'll send a follow up with the requested changes. Thanks for the input! Manos. On Thu, Sep 28, 2023 at 4:42 PM Richard Sandiford wrote: > Manos Anagnostakis writes: > > Hey Richard, > > > > Thanks for taking the time to review this, but it has been co

Re: [PATCH v2] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-09-28 Thread Manos Anagnostakis
t; > > On Thu, 28 Sept 2023 at 15:33, Manos Anagnostakis > wrote: > > > > Hey Richard, > > > > Thanks for taking the time to review this, but it has been commited > since yesterday after getting reviewed by Kyrill and Tamar. > > > > Discussion

Re: [PATCH v2] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-09-28 Thread Manos Anagnostakis
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631389.html Commited version: https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631484.html Manos. On Thu, Sep 28, 2023 at 4:17 PM Richard Sandiford wrote: > Thanks for the patch and sorry for the slow review. > > Manos Ana

[PATCH v5] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-27 Thread Manos Anagnostakis
-off-by: Manos Anagnostakis --- Changes in v5: - Adjust ChangeLog for aarch64.opt. gcc/config/aarch64/aarch64-opts.h | 16 ++ gcc/config/aarch64/aarch64-protos.h | 25 +++ gcc/config/aarch64/aarch64-tuning-flags.def | 8 - gcc/config/aarch64/aarch64.cc

Re: [PATCH v4] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-27 Thread Manos Anagnostakis
Thanks Kyrill! Submitting the obvious v5. Manos. On Wed, Sep 27, 2023 at 11:40 AM Kyrylo Tkachov wrote: > Hi Manos, > > > -Original Message- > > From: Manos Anagnostakis > > Sent: Tuesday, September 26, 2023 2:52 PM > > To: gcc-patches@gcc.gnu.org

[PATCH v4] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-26 Thread Manos Anagnostakis
/ldp_always.c: New test. * gcc.target/aarch64/ldp_never.c: New test. * gcc.target/aarch64/stp_aligned.c: New test. * gcc.target/aarch64/stp_always.c: New test. * gcc.target/aarch64/stp_never.c: New test. Signed-off-by: Manos Anagnostakis --- Changes in v4

Re: [PATCH v3] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-25 Thread Manos Anagnostakis
t; > > > On Mon, 25 Sept 2023 at 21:54, Andrew Pinski > wrote: > > > > > > > > On Mon, Sep 25, 2023 at 12:50 PM Manos Anagnostakis > > > > wrote: > > > > > > > > > > This patch implements the follow

Re: [PATCH v3] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-25 Thread Manos Anagnostakis
Hello Andrew, what you describe was my previous version, but @Kyrylo Tkachov prompted me to use -param. Thank you for taking a look anyway! Manos Anagnostakis | Compiler Engineer | E: manos.anagnosta...@vrull.eu VRULL GmbH | Beatrixgasse 32 1030 Vienna | W: www.vrull.eu Στις Δευ 25 Σεπ 2023

[PATCH v3] aarch64: Fine-grained policies to control ldp-stp formation.

2023-09-25 Thread Manos Anagnostakis
/stp_always.c: New test. * gcc.target/aarch64/stp_never.c: New test. Signed-off-by: Manos Anagnostakis --- Changes in v3: - Changed command-line options to target-specific parameters and documented them accordingly in doc/invoke.texi. - Removed ampere1

Re: [PATCH] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-09-25 Thread Manos Anagnostakis
Thanks for the feedback, Kyrill. I'll resend it as a V3. I believe you have also checked V2 containing just a small test adjustment. Manos Anagnostakis | Compiler Engineer | E: manos.anagnosta...@vrull.eu VRULL GmbH | Beatrixgasse 32 1030 Vienna | W: www.vrull.eu Στις Δευ 25 Σεπ 2023, 13

[PING] [PATCH v2] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-09-22 Thread Manos Anagnostakis
Kind ping for reviewing this patch. It's tested and does not cause regressions: https://patchwork.sourceware.org/project/gcc/patch/20230828143744.7574-1-manos.anagnosta...@vrull.eu/ Thank you in advance! On Mon, Aug 28, 2023 at 5:37 PM Manos Anagnostakis < manos.anagnosta...@vrull.e

[PATCH v2] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-08-28 Thread Manos Anagnostakis
/ldp_always.c: New test. * gcc.target/aarch64/ldp_never.c: New test. * gcc.target/aarch64/stp_aligned.c: New test. * gcc.target/aarch64/stp_always.c: New test. * gcc.target/aarch64/stp_never.c: New test. Signed-off-by: Manos Anagnostakis --- Changes in v2: - Fixed

[PATCH] aarch64: Fine-grained ldp and stp policies with test-cases.

2023-08-18 Thread Manos Anagnostakis
/ldp_always.c: New test. * gcc.target/aarch64/ldp_never.c: New test. * gcc.target/aarch64/stp_aligned.c: New test. * gcc.target/aarch64/stp_always.c: New test. * gcc.target/aarch64/stp_never.c: New test. Signed-off-by: Manos Anagnostakis --- gcc/config/aarch64/aarch64