[PUSHED] MAINTAINERS: Add myself to Write After Approval

2025-04-16 Thread Alex
I forgot to do this yesterday, it is now done. Thank you to everyone who helped me get this far, Alex From 0e8b6f0dad11ece6c693e4765f3c58309ff8ef12 Mon Sep 17 00:00:00 2001 From: Waffl3x Date: Wed, 16 Apr 2025 07:26:50 -0600 Subject: [PATCH] MAINTAINERS: Add myself to Write After Approval

[PATCH] Docs: Document omp::allocator::* and ompx::allocator::* allocators.

2025-04-15 Thread Alex
Here is a follow up patch for documentation of the omp.h allocators, I'm not super happy with it but I wanted to get eyes on it before I go to sleep tonight. I want the table in there somewhere but I'm not confident that where I put it was the right place.

[PATCH] OpenMP: omp.h omp::allocator C++ Allocator interface

2025-04-15 Thread Alex
Tested on x86_64-pc-linux-gnu, this is only a library addition (and a few tests) so it shouldn't cause any major impacts. I also tested libgomp C to ensure the conditional compile was working. Okay for trunk? From 1ef3fe0a1f026689e64963ec9ab0b04b7e6b1bde Mon Sep 17 00:00:00 2001 From: waffl3x Da

Re: [PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-04-14 Thread Alex Coplan
Ping^8 for patches 2-4: https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672677.html https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672678.html https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672679.html On 21/03/2025 10:04, Alex Coplan wrote: > Ping^7 > > On 06/0

Re: [PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-03-21 Thread Alex Coplan
Ping^7 On 06/03/2025 10:48, Alex Coplan wrote: > Ping^6 > > On 19/02/2025 12:15, Alex Coplan wrote: > > Ping^5 for patches 2-4: > > https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672677.html > > https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672678.h

Re: [PATCH 0/1] Cherry pick of patch for gcc-13 fixing PR119372

2025-03-21 Thread Alex Coplan
On 21/03/2025 14:06, Matthew Malcomson wrote: > On 3/20/25 15:03, Alex Coplan wrote: > > External email: Use caution opening links or attachments > > > > > > On 20/03/2025 14:31, Alfie Richards wrote: > > > Hello, > > > > > > This is a c

Re: [PATCH 1/1] aarch64: Use PAUTH instead of V8_3A in some places

2025-03-20 Thread Alex Coplan
On 20/03/2025 14:31, Alfie Richards wrote: > From: Andrew Carlotti > > gcc/ChangeLog: > I think you need to add: PR target/119372 here, so that the backport commits get tracked in bugzilla. Thanks, Alex > * config/aarch64/aarch64.cc > (aarch64_exp

Re: [PATCH][PUSHED] hwasan: support new dg-output format.

2025-03-20 Thread Alex Coplan
On 09/02/2024 15:32, Alex Coplan wrote: > Hi, > > On 04/05/2022 09:59, Martin Liška wrote: > > Supports change in libsanitizer where it newly reports: > > READ of size 4 at 0xc3d4 tags: 02/01(00) (ptr/mem) in thread T0 > > > > So the 'tags' c

Re: [PATCH 0/1] Cherry pick of patch for gcc-13 fixing PR119372

2025-03-20 Thread Alex Coplan
ax them (r13-100-g3771486daa1e904ceae6f3e135b28e58af33849). I think that patch needs backporting to the GCC 12 branch, which I requested here: https://gcc.gnu.org/pipermail/gcc-patches/2024-February/645278.html but that backport request was never ACKed. I still think we should backport it. Alex &g

Re: [PATCH] df: Treat partial defs as uses in df_simulate_defs [PR116564]

2025-03-12 Thread Alex Coplan
On 11/03/2025 17:39, Richard Sandiford wrote: > Alex Coplan writes: > > Hi, > > > > The PR shows us spinning in dce.cc:fast_dce at the start of combine. > > This spinning appears to be because of a disagreement between the fast_dce >

[PATCH] df: Treat partial defs as uses in df_simulate_defs [PR116564]

2025-03-11 Thread Alex Coplan
ce for this testcase. Bootstrapped/regtested on aarch64-linux-gnu, arm-linux-gnueabihf, and x86_64-linux-gnu: no regressions. I also checked that this is netural for SPEC CPU 2017 on Graviton 3. OK for trunk? If so, what about backports? Thanks, Alex gcc/ChangeLog: PR rtl-optimizat

Re: [PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-03-06 Thread Alex Coplan
Ping^6 On 19/02/2025 12:15, Alex Coplan wrote: > Ping^5 for patches 2-4: > https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672677.html > https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672678.html > https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672679.html &

[committed] pair-fusion: Add singleton move_range asserts [PR114492]

2025-03-06 Thread Alex Coplan
having the calls wrapped in asserts is problematic here. Tested on aarch64-linux-gnu, pushed to trunk. Alex gcc/ChangeLog: PR rtl-optimization/114492 * pair-fusion.cc (pair_fusion_bb_info::fuse_pair): Check for singleton move range before calling restrict_movement

[committed][GCC 14] aarch64: Check for invalid use arrays in ldp_fusion [PR118320]

2025-03-05 Thread Alex Coplan
This is a backport of Richard's fix for PR118320 to GCC 14 (squashed together with my follow-up tweak of the dump message). Pushed to releases/gcc-14 after testing on aarch64-linux-gnu. Thanks, Alex -- >8 -- As Andrew says in the bugzilla comments, this PR is about a case where we

Re: [PATCH] testsuite, powerpc: Fix vsx-vectorize-* after alignment peeling [PR118567]

2025-02-27 Thread Alex Coplan
On 17/02/2025 14:28, Alex Coplan wrote: > Hi, > > After the recent alignment peeling enhancements in the vectorizer we > started vectorizing the "checking" loops (that check for the right > result) in gcc.target/powerpc/vsx-vectorize-*.c, thus skewing the > expected

Re: [PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-02-19 Thread Alex Coplan
Ping^5 for patches 2-4: https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672677.html https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672678.html https://gcc.gnu.org/pipermail/gcc-patches/2025-January/672679.html On 12/02/2025 11:20, Alex Coplan wrote: > Ping > > On 03/02/2

[committed] pair-fusion: Tweak wording in dump message [PR118320]

2025-02-18 Thread Alex Coplan
As discussed in https://gcc.gnu.org/pipermail/gcc-patches/2025-February/675978.html this tweaks the dump messasge added with the fix for PR118320 since it doesn't just apply to load pairs. Tested on aarch64-linux-gnu, pushed to trunk. Alex gcc/ChangeLog: PR rtl-optimization/1

Re: [PATCH] pair-fusion: A couple of fixes for sp updates [PR118429]

2025-02-17 Thread Alex Coplan
On 17/02/2025 16:15, Richard Sandiford wrote: > Alex Coplan writes: > > Hi Richard, > > > > On 29/01/2025 16:44, Richard Sandiford wrote: > >> The PR showed two issues with pair-fusion. The first is that the pass > >> treated stack pointer deallocatio

Re: [PATCH] pair-fusion: A couple of fixes for sp updates [PR118429]

2025-02-17 Thread Alex Coplan
t;uid ()); > - rtx_insn *rti = change->insn ()->rtl (); > - validate_change (rti, &PATTERN (rti), gen_tombstone (), true); > - validate_change (rti, ®_NOTES (rti), NULL_RTX, true); > - change->new_uses = use_array (nullptr, 0); > +

Re: [PATCH] pair-fusion: Check for invalid use arrays [PR118320]

2025-02-17 Thread Alex Coplan
{ > + if (dump_file) > + fprintf (dump_file, > + " load pair: i%d and i%d use different definiitions of" ... how do we know that this is a load pair here? Could this not in theory trigger for stores too? Thanks, Alex > + " th

[PATCH] testsuite, powerpc: Fix vsx-vectorize-* after alignment peeling [PR118567]

2025-02-17 Thread Alex Coplan
ds #pragma GCC novector above the relevant loops to prevent them from being vectorized, thereby fixing the test failures. Tested with RUNTESTFLAGS="powerpc.exp=vsx-vectorize-*.c" on powerpc64le-linux-gnu (cfarm29): no FAILs observed wtih the patch applied. OK for trunk? Thanks,

Re: [PATCH 1/4] vect: Set counts of early break exit blocks correctly [PR117790]

2025-02-12 Thread Alex Coplan
On 05/02/2025 08:05, Tamar Christina wrote: > > > > -Original Message- > > From: Jan Hubicka > > Sent: Tuesday, February 4, 2025 4:25 PM > > To: Alex Coplan > > Cc: gcc-patches@gcc.gnu.org; Richard Biener ; Tamar > > Christina > > Su

Re: [PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-02-12 Thread Alex Coplan
Ping On 03/02/2025 14:46, Tamar Christina wrote: > Ping > > > -Original Message- > > From: Tamar Christina > > Sent: Friday, January 24, 2025 9:18 AM > > To: Alex Coplan ; gcc-patches@gcc.gnu.org > > Cc: Richard Biener ; Jan Hubicka > >

[PATCH 3/4] vect: Ensure profile consistency when adding epilog guard [PR117790]

2025-01-06 Thread Alex Coplan
for trunk? Thanks, Alex gcc/ChangeLog: PR tree-optimization/117790 * tree-vect-loop-manip.cc (vect_do_peeling): Attempt to maintain consistency of the CFG profile when adding an epilog skip edge. gcc/testsuite/ChangeLog: PR tree-optimization/117790 * g

[PATCH 4/4] vect: Fix scale_profile_for_vect_loop for multiple exits [PR117790]

2025-01-06 Thread Alex Coplan
This adjusts scale_profile_for_vect_loop to DTRT for loops with multiple exits, namely using scale_loop_profile_hold_exit_counts instead and scaling the expected niters by 1 / VF. Tested as a series on aarch64-linux-gnu, arm-linux-gnueabihf, and x86_64-linux-gnu. OK for trunk? Thanks, Alex gcc

[PATCH 2/4] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790]

2025-01-06 Thread Alex Coplan
-linux-gnu, and arm-linux-gnueabihf. OK for trunk? Thanks, Alex gcc/ChangeLog: PR tree-optimization/117790 * cfgloopmanip.cc (can_flow_scale_loop_freqs_p): New. (flow_scale_loop_freqs): New. (scale_loop_freqs_with_exit_counts): New. (scale_loop_freqs_h

[PATCH 1/4] vect: Set counts of early break exit blocks correctly [PR117790]

2025-01-06 Thread Alex Coplan
This adds missing code to correctly set the counts of the exit blocks we create when building the CFG for a vectorized early break loop. Tested as a series on aarch64-linux-gnu, arm-linux-gnueabihf, and x86_64-linux-gnu. OK for trunk? Thanks, Alex gcc/ChangeLog: PR tree-optimization

[PATCH 0/4] vect, cfgloopmanip: Fix profile consistency of early break loops [PR117790]

2025-01-06 Thread Alex Coplan
-gnu, arm-linux-gnueabihf, and x86_64-linux-gnu. Alex Coplan (4): vect: Set counts of early break exit blocks correctly [PR117790] cfgloopmanip: Add infrastructure for scaling of multi-exit loops [PR117790] vect: Ensure profile consistency when adding epilog guard [PR117790] vect: Fix

Re: [PATCH] gdbhooks: Handle references to vec* in VecPrinter

2024-11-26 Thread Alex Coplan
On 29/09/2024 09:35, Jeff Law wrote: > > > On 9/23/24 4:33 AM, Alex Coplan wrote: > > On 30/08/2024 18:11, Alex Coplan wrote: > > > Hi, > > > > > > vec.h has this method: > > > > > >template > > >inlin

Re: [PATCH v2 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-11-21 Thread Alex Coplan
On 21/11/2024 10:02, Richard Biener wrote: > On Fri, 15 Nov 2024, Alex Coplan wrote: > > > Hi, > > > > This is a v2 which hopefully addresses the feedback for v1 of the 1/5 > > patch, originally posted here: > > https://gcc.gnu.org/pipermail/gcc-patches/

Re: [RFC PATCH 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-11-21 Thread Alex Coplan
On 19/11/2024 20:12, Richard Sandiford wrote: > Alex Coplan writes: > > On 19/11/2024 17:02, Richard Sandiford wrote: > >> Sorry for the slow review. Finally catching up on backlog. > >> > >> Richard Biener writes: > >> > On Mon, 28 Oct 2024, Ale

Re: [RFC PATCH 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-11-19 Thread Alex Coplan
On 19/11/2024 17:02, Richard Sandiford wrote: > Sorry for the slow review. Finally catching up on backlog. > > Richard Biener writes: > > On Mon, 28 Oct 2024, Alex Coplan wrote: > > > >> This allows us to vectorize more loops with early exits by forcing > >

Re: [RFC PATCH 3/5] vect: Fix dominators when adding a guard to skip the vector loop

2024-11-15 Thread Alex Coplan
On 29/10/2024 13:41, Richard Biener wrote: > On Mon, 28 Oct 2024, Alex Coplan wrote: > > > From: Tamar Christina > > > > The alignment peeling changes exposed a latent missing dominator update > > with early break vectorization, specifically when inserting the v

[PATCH v2 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-11-15 Thread Alex Coplan
will also need a simple (hopefully obvious, even) follow-up patch to fix expectations for various tests (since we now vectorize loops which we previously couldn't). OK for trunk? Thanks, Alex -- >8 -- This allows us to vectorize more loops with early exits by forcing peeling for alignment

Re: [RFC PATCH 5/5] vect: Also cost gconds for scalar

2024-11-14 Thread Alex Coplan
On 29/10/2024 13:45, Richard Biener wrote: > On Tue, 29 Oct 2024, Richard Biener wrote: > > > On Mon, 28 Oct 2024, Alex Coplan wrote: > > > > > Currently we only cost gconds for the vector loop while we omit costing > > > them when analyzing the scalar loop

Re: [PATCH] Fix incorrect subreg mode check [PR117476]

2024-11-14 Thread Alex Coplan
On 12/11/2024 10:56, Jeff Law wrote: > > > On 11/12/24 4:46 AM, Alex Coplan wrote: > > Hi Alexey, > > > > On 12/11/2024 08:18, Alexey Merzlyakov wrote: > > > gcc/ChangeLog: > > > > > > * simplify-rtx.cc (simplify_context::simplify_un

Re: [PATCH] Fix incorrect subreg mode check [PR117476]

2024-11-12 Thread Alex Coplan
/gcc.dg/pr117476.c I think it might be better to put the test in gcc.c-torture/execute, then it will automatically get run with the various torture options and you should be able to drop both the dejagnu directives. Thanks, Alex > @@ -0,0 +1,12 @@ > +/* PR rtl-optimization/117476 */ > +/*

Re: [Patch, rs6000, middle-end] v10: Add implementation for different targets for pair mem fusion

2024-11-01 Thread Alex Coplan
Hi Ajit, Sorry for not reviewing this sooner. For a while I thought this patch was with Richard S to look at the rtl-ssa changes, but we've now agreed that I should take a look at it. I noticed that this breaks the build on aarch64. I suspect you got an email from the Linaro CI about this? You

[committed] aarch64: Assume alias conflict if common address reg changes [PR116783]

2024-10-30 Thread Alex Coplan
branch (I verified that it failed there without the change to aarch64-ldp-fusion.cc). Bootstrapped/regtested on aarch64-linux-gnu (all languages), no regressions. Pushed to the 14 branch. Thanks, Alex --- As the PR shows, pair fusion was tricking memory_modified_in_insn_p into returning false when

Re: [RFC PATCH 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-10-29 Thread Alex Coplan
On 29/10/2024 15:53, Alex Coplan wrote: > On 29/10/2024 13:39, Richard Biener wrote: > > On Mon, 28 Oct 2024, Alex Coplan wrote: > > > > > This allows us to vectorize more loops with early exits by forcing > > > peeling for alignment to make sure that we're

Re: [RFC PATCH 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-10-29 Thread Alex Coplan
On 29/10/2024 13:39, Richard Biener wrote: > On Mon, 28 Oct 2024, Alex Coplan wrote: > > > This allows us to vectorize more loops with early exits by forcing > > peeling for alignment to make sure that we're guaranteed to be able to > > safely read an entire vector

[RFC PATCH 1/5] vect: Force alignment peeling to vectorize more early break loops

2024-10-28 Thread Alex Coplan
This allows us to vectorize more loops with early exits by forcing peeling for alignment to make sure that we're guaranteed to be able to safely read an entire vector iteration without crossing a page boundary. To make this work for VLA architectures we have to allow compile-time non-constant targ

[RFC PATCH 5/5] vect: Also cost gconds for scalar

2024-10-28 Thread Alex Coplan
Currently we only cost gconds for the vector loop while we omit costing them when analyzing the scalar loop; this unfairly penalizes the vector loop in the case of loops with early exits. This (together with the previous patches) enables us to vectorize std::find with 64-bit element sizes. gcc/Ch

[RFC PATCH 4/5] vect: Ensure we add vector skip guard even when versioning for aliasing

2024-10-28 Thread Alex Coplan
This fixes a latent wrong code issue whereby vect_do_peeling determined the wrong condition for inserting the vector skip guard. Specifically in the case where the loop niters are unknown at compile time we used to check: !LOOP_REQUIRES_VERSIONING (loop_vinfo) but LOOP_REQUIRES_VERSIONING is t

[RFC PATCH 2/5] vect: Don't guard scalar epilogue for inverted loops

2024-10-28 Thread Alex Coplan
For loops with LOOP_VINFO_EARLY_BREAKS_VECT_PEELED we should always enter the scalar epilogue, so avoid emitting a guard on entry to the epilogue. gcc/ChangeLog: * tree-vect-loop-manip.cc (vect_do_peeling): Avoid emitting an epilogue guard for inverted early-exit loops. --- gcc/t

[RFC PATCH 3/5] vect: Fix dominators when adding a guard to skip the vector loop

2024-10-28 Thread Alex Coplan
-Authored-By: Alex Coplan --- .../g++.dg/vect/vect-early-break_6.cc | 25 +++ gcc/tree-vect-loop-manip.cc | 24 ++ 2 files changed, 49 insertions(+) create mode 100644 gcc/testsuite/g++.dg/vect/vect-early-break_6.cc diff --git a/gcc/testsuite/g

[RFC PATCH 0/5] vect: Force peeling for alignment to handle more early break loops

2024-10-28 Thread Alex Coplan
le exits (provided we want to hold the counts along exit edges fixed). I have a patch that addresses this, but it probably makes most sense to post it once all the profile issues are fixed. I would appreciate any feedback on the patches at this stage. Thanks, Alex Alex Coplan (4): vect: Force al

Re: [PATCH] Assorted --disable-checking fixes [PR117249]

2024-10-25 Thread Alex Coplan
t;caller = caller; > --- gcc/pair-fusion.cc.jj 2024-10-22 17:09:09.372091098 +0200 > +++ gcc/pair-fusion.cc2024-10-24 11:13:07.023744574 +0200 > @@ -1962,7 +1962,10 @@ pair_fusion_bb_info::fuse_pair (bool loa > >auto ignore = ignore_changing_insns (changes); >fo

[committed v2] pair-fusion: Assume alias conflict if common address reg changes [PR116783]

2024-10-21 Thread Alex Coplan
(all languages) on aarch64-linux-gnu. I'll work on a backport to 14 if there's no fallout after a week or so. Thanks, Alex -- >8 -- As the PR shows, pair-fusion was tricking memory_modified_in_insn_p into returning false when a common base register (in this case, x1) was modified betwe

Re: pair-fusion: Assume alias conflict if common address reg changes [PR116783]

2024-10-18 Thread Alex Coplan
On 18/10/2024 17:45, Richard Sandiford wrote: > Alex Coplan writes: > > On 11/10/2024 14:30, Richard Biener wrote: > >> On Fri, 11 Oct 2024, Richard Sandiford wrote: > >> > >> > Alex Coplan writes: > >> > > Hi, >

Re: pair-fusion: Assume alias conflict if common address reg changes [PR116783]

2024-10-18 Thread Alex Coplan
On 11/10/2024 14:30, Richard Biener wrote: > On Fri, 11 Oct 2024, Richard Sandiford wrote: > > > Alex Coplan writes: > > > Hi, > > > > > > As the PR shows, pair-fusion was tricking memory_modified_in_insn_p into > > > returning false wh

Re: [committed] MAINTAINERS: Add myself as pair fusion and aarch64 ldp/stp maintainer

2024-10-18 Thread Alex Coplan
Of course I forgot to actually attach the patch, now attached :) On 18/10/2024 11:09, Alex Coplan wrote: > Pushed to trunk. > > ChangeLog: > > * MAINTAINERS (CPU Port Maintainers): Add myself as aarch64 ldp/stp > maintainer. > (Various Maintainers): Add

[committed] MAINTAINERS: Add myself as pair fusion and aarch64 ldp/stp maintainer

2024-10-18 Thread Alex Coplan
Pushed to trunk. ChangeLog: * MAINTAINERS (CPU Port Maintainers): Add myself as aarch64 ldp/stp maintainer. (Various Maintainers): Add myself as pair fusion maintainer.

Re: pair-fusion: Assume alias conflict if common address reg changes [PR116783]

2024-10-07 Thread Alex Coplan
On 23/09/2024 11:31, Alex Coplan wrote: > Hi, > > As the PR shows, pair-fusion was tricking memory_modified_in_insn_p into > returning false when a common base register (in this case, x1) was > modified between the mem and the store insn. This lead to wrong code as > the a

[PATCH] testsuite: Prevent unrolling of main in LTO test [PR116683]

2024-09-26 Thread Alex Coplan
ore explicitly tries to block the unrolling in main with an appropriate #pragma. I've checked that the test now passes on power (on cfarm29) and aarch64. I also checked that reverting the lto-streamer-{in,out}.cc changes still causes the test to fail (on aarch64). OK for trunk? Thanks, Alex

Re: [PATCH] gdbhooks: Handle references to vec* in VecPrinter

2024-09-23 Thread Alex Coplan
On 30/08/2024 18:11, Alex Coplan wrote: > Hi, > > vec.h has this method: > > template > inline T * > vec_safe_push (vec *&v, const T &obj CXX_MEM_STAT_INFO) > > where v is a reference to a pointer to vec. This matches the regex for > VecPrinter, s

pair-fusion: Assume alias conflict if common address reg changes [PR116783]

2024-09-23 Thread Alex Coplan
bootstrap and LTO+PGO bootstrap). OK for trunk? Thanks, Alex gcc/ChangeLog: PR rtl-optimization/116783 * pair-fusion.cc (def_walker::cand_addr_uses): New. (def_walker::def_walker): Add parameter for candidate address uses. (def_walker::alias_conflict_p): Declare

Re: [PATCH v3] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-09-11 Thread Alex Coplan
On 10/09/2024 10:29, Jason Merrill wrote: > On 9/10/24 6:10 AM, Alex Coplan wrote: > > On 27/08/2024 10:55, Alex Coplan wrote: > > > Hi, > > > > > > This is a v3 that hopefully addresses the feedback from both Jason and > > > Jakub. v2 was posted

Re: [PATCH v3] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-09-10 Thread Alex Coplan
On 27/08/2024 10:55, Alex Coplan wrote: > Hi, > > This is a v3 that hopefully addresses the feedback from both Jason and > Jakub. v2 was posted here: > https://gcc.gnu.org/pipermail/gcc-patches/2024-August/660191.html Gentle ping on this C++ patch: https://gcc.gnu.org/pipermail/g

[PATCH] gdbhooks: Handle references to vec* in VecPrinter

2024-08-30 Thread Alex Coplan
matching a plain vec<...> struct and fix the member functions to handle those properly. Any thoughts on that, Dave? Is the current patch OK as an intermediate step (manually tested by verifying both a vec*& and vec* print OK)? Thanks, Alex gcc/ChangeLog: * gdbhook

Re: [PATCH] gdbhooks: Fix printing of vec with vl_ptr layout

2024-08-30 Thread Alex Coplan
On 30/08/2024 10:12, David Malcolm wrote: > On Fri, 2024-08-30 at 12:08 +0100, Alex Coplan wrote: > > Hi, > > > > As it stands, the pretty printing of GCC's vecs by gdbhooks.py only > > handles vectors with vl_embed layout.  As such, when encountering a > >

[PATCH] gdbhooks: Fix printing of vec with vl_ptr layout

2024-08-30 Thread Alex Coplan
in a backtrace. This patch extends VecPrinter.children to also handle vl_ptr vectors. Manually tested by verifying that vl_embed vectors still print correctly and empty vl_ptr vectors no longer trigger errors. OK for trunk? Thanks, Alex diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py

[PATCH] testsuite: Rename scanltranstree.exp -> scanltrans.exp

2024-08-29 Thread Alex Coplan
Hi, Since r15-3254-g3f51f0dc88ec21c1ec79df694200f10ef85915f4 added scan-ltrans-rtl* variants to scanltranstree.exp, it no longer makes sense to have "tree" in the name. This renames the file accordingly and updates users. Tested on aarch64-linux-gnu, OK for trunk? Thanks, Alex

Re: [PATCH v2 2/5] testsuite: Add scan-ltrans-rtl* for use in dg-final [PR116140]

2024-08-29 Thread Alex Coplan
On 28/08/2024 18:34, Andrew Pinski wrote: > On Wed, Aug 28, 2024 at 4:05 AM Alex Coplan wrote: > > > > On 28/08/2024 11:53, Richard Sandiford wrote: > > > Alex Coplan writes: > > > > Hi, > > > > > > > > This is a v2 of: > > >

[committed] testsuite: Fix up refactored scanltranstree.exp functions [PR116522]

2024-08-29 Thread Alex Coplan
unctions, and I only spot-checked a test using one of those functions. Apologies for the breakage. Tested on aarch64. No regressions, and verified that the ERROR in gcc.dg/ipa/ipa-icf-38.c goes away. Pushing to trunk as obvious. Alex gcc/testsuite/ChangeLog: PR testsuite/11652

Re: [PATCH v2 2/5] testsuite: Add scan-ltrans-rtl* for use in dg-final [PR116140]

2024-08-28 Thread Alex Coplan
On 28/08/2024 11:53, Richard Sandiford wrote: > Alex Coplan writes: > > Hi, > > > > This is a v2 of: > > https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659966.html > > which is rebased on top of Richard S's patch to reduce the cut-and-paste in > >

[PATCH v2 2/5] testsuite: Add scan-ltrans-rtl* for use in dg-final [PR116140]

2024-08-28 Thread Alex Coplan
Hi, This is a v2 of: https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659966.html which is rebased on top of Richard S's patch to reduce the cut-and-paste in scanltranstree.exp (thanks again for doing that). Tested on aarch64-linux-gnu, OK for trunk? Thanks, Alex -- >8 -- This

[PATCH v2 4/5] lto: Stream has_unroll flag during LTO [PR116140]

2024-08-28 Thread Alex Coplan
This is a v2 of: https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659969.html this version just streams the flag as requested. Bootstrapped/tested as a series on aarch64-linux-gnu (both with and without LTO), OK for trunk? Thanks, Alex -- >8 -- When #pragma GCC unroll is processed in t

Re: [PATCH] testsuite: Reduce cut-&-paste in scanltranstree.exp

2024-08-27 Thread Alex Coplan
linux-gnu? Thanks for doing this. I had the feeling when trying to add the RTL variants of the scanners that the code needed refactoring, but my Tcl skills really weren't up to the job. I learned a lot about Tcl by trying to make sense of this patch. I'll try adding the RTL varian

[PATCH v3] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-27 Thread Alex Coplan
assumptions about the specific changes made in maybe_convert_cond. Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk? Thanks, Alex -- >8 -- For the testcase added with this patch, we would end up losing the: #pragma GCC unroll 4 and emitting "warning: ignoring loop annotation

Re: [PATCH v2] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-16 Thread Alex Coplan
On 16/08/2024 12:47, Jakub Jelinek wrote: > On Fri, Aug 16, 2024 at 11:38:03AM +0100, Alex Coplan wrote: > > Looking at the calls to build3 (ANNOTATE_EXPR, ...) in cp/semantics.cc, > > it looks like the other two operands of ANNOTATE_EXPRs are only ever > > INTEGER_C

Re: [PATCH v2] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-16 Thread Alex Coplan
On 15/08/2024 16:55, Jason Merrill wrote: > On 8/12/24 1:55 PM, Alex Coplan wrote: > > Hi! > > > > This is a v2 patch of: > > https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659968.html > > that addresses Jakub's feedback. > > &g

[PATCH v2] c++: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-12 Thread Alex Coplan
I'm happy to be persuaded to do otherwise by C++ maintainers :) Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk? Thanks, Alex -- >8 -- For the testcase added with this patch, we would end up losing the: #pragma GCC unroll 4 and emitting "warning: ignoring loop annotatio

Re: [PATCH 1/5] cp: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-09 Thread Alex Coplan
On 09/08/2024 17:56, Jakub Jelinek wrote: > On Fri, Aug 09, 2024 at 04:46:55PM +0100, Alex Coplan wrote: > > On 09/08/2024 17:34, Jakub Jelinek wrote: > > > On Fri, Aug 09, 2024 at 04:21:14PM +0100, Alex Coplan wrote: > > > > Hmm, good spot, I didn't realis

Re: [PATCH 1/5] cp: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-09 Thread Alex Coplan
On 09/08/2024 17:34, Jakub Jelinek wrote: > On Fri, Aug 09, 2024 at 04:21:14PM +0100, Alex Coplan wrote: > > Hmm, good spot, I didn't realise that convert_from_reference could > > change the type of the condition like this. > > > > In that case I suppose the on

Re: [PATCH 1/5] cp: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-09 Thread Alex Coplan
realise that convert_from_reference could change the type of the condition like this. In that case I suppose the only thing to do is to construct a stack of ANNOTATE_EXPRs on the way down and re-build the expressions (taking the type of the inner expression, starting with the cond) on the way back up. I'll try something along those lines, then (unless there are further comments suggesting otherwise!) Thanks, Alex > > Jakub >

Re: [PATCH 4/5] lto: Set has_unroll flag when streaming in for LTO [PR116140]

2024-08-09 Thread Alex Coplan
On 09/08/2024 13:12, Richard Biener wrote: > > > > Am 09.08.2024 um 11:30 schrieb Alex Coplan : > > > > When #pragma GCC unroll is processed in > > tree-cfg.cc:replace_loop_annotate_in_block, we set both the loop->unroll > > field (which is currently s

[PATCH 4/5] lto: Set has_unroll flag when streaming in for LTO [PR116140]

2024-08-09 Thread Alex Coplan
When #pragma GCC unroll is processed in tree-cfg.cc:replace_loop_annotate_in_block, we set both the loop->unroll field (which is currently streamed out and back in during LTO) but also the cfun->has_unroll flag. cfun->has_unroll, however, is not currently streamed during LTO, so this patch attempt

[PATCH 5/5] libstdc++: Restore unrolling in std::find using pragma [PR116140]

2024-08-09 Thread Alex Coplan
vectorizable with WIP alignment peeling enhancements. On Neoverse V1 with LTO, this reduces the regression in xalancbmk (from SPEC CPU 2017) from 5.8% to 1.7% (restoring ~71% of the lost performance). Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk? Thanks, Alex libstdc++-v3/ChangeLog

[PATCH 1/5] cp: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140]

2024-08-09 Thread Alex Coplan
For the testcase added with this patch, we would end up losing the: #pragma GCC unroll 4 and emitting "warning: ignoring loop annotation". That warning comes from tree-cfg.cc:replace_loop_annotate, and means that we failed to process the ANNOTATE_EXPR in tree-cfg.cc:replace_loop_annotate_in_bl

[PATCH 3/5] testsuite: Ensure ltrans dump files get cleaned up properly [PR116140]

2024-08-09 Thread Alex Coplan
cted for cleaning up such dumpfiles to also match dumpfiles with the above form. Running the testsuite before/after this patch shows the number of files in gcc/testsuite (in the build dir) with "ltrans" in the name goes from 1416 to 62 on aarch64. No regressions on aarch64-linux-gnu, OK

[PATCH 2/5] testsuite: Add scan-ltrans-rtl for use in dg-final [PR116140]

2024-08-09 Thread Alex Coplan
This extends the scan-ltrans-tree* helpers to create RTL variants. This is needed to check the behaviour of an RTL pass under LTO. In particular it's used by a later patch in the series to check that RTL unrolling is applied under LTO. Tested as a series on aarch64-linux-gnu, OK for trunk? gcc/

[PATCH 0/5] Address std::find regression with RTL unrolling [PR116140]

2024-08-09 Thread Alex Coplan
71.11%| +---+---+---+ Bootstrapped/regtested as a series on aarch64-linux-gnu, no regressions. Alex Coplan (5): cp: Ensure ANNOTATE_EXPRs remain outermost expressions in conditions [PR116140] testsuite: Add scan-ltrans-rtl for use in dg-

[PATCH 1/2] gdbhooks: Make dot viewer configurable

2024-08-01 Thread Alex Coplan
.gdbinit. Manually tested by debugging an x86 -> aarch64 cross, changing the parameter, and invoking dot-fn. OK to install? Thanks, Alex gcc/ChangeLog: * gdbhooks.py (GCCDotCmd): New. (gcc_dot_cmd): New. Use it ... (DotFn.invoke): ... here. iff --git a/gcc/gd

[PATCH 2/2] gdbhooks: Add attempt to invoke on-gcc-hooks-load

2024-08-01 Thread Alex Coplan
ny GDB experts if there's a better way of managing configuration like this. Tested by invoking dot-fn with/without the above fragment in my .gdbinit and observing the change in dot renderer. OK to install? Thanks, Alex gcc/ChangeLog: * gdbhooks.py: Add attempted call to "on-g

Re: [PATCH 2/3] aarch64: Add support for moving fpm system register

2024-07-22 Thread Alex Coplan
_gp, nosimd ] fmov\t%s0, %w1 > [w, w; neon_dup , simd ] dup\t%0, %1.[0] > [w, w; neon_dup , nosimd ] fmov\t%s0, %s1 > + [Umv, r ; mrs, * ] msr\t%0, %x1 > + [r, Umv ; mrs, * ] mrs\t%x0, %

[PATCH v2] middle-end: Add debug functions to dump dominator tree in dot format

2024-07-05 Thread Alex Coplan
This is a v2 patch which implements richi's feedback. OK if it survives bootstrap on aarch64? Thanks, Alex -- >8 -- This adds debug functions to dump the dominator tree in dot format. There are two overloads: one which takes a FILE * and another which takes a const char *fname and w

Re: [PATCH] middle-end: Add debug function to dump dominator tree in dot format

2024-07-05 Thread Alex Coplan
On 05/07/2024 09:59, Richard Biener wrote: > On Fri, 5 Jul 2024, Alex Coplan wrote: > > > Hi, > > > > This adds a debug function to dump the dominator tree in dot/graphviz > > format. The idea is that the function can be called in GDB, the output > > c

[PATCH] middle-end: Add debug function to dump dominator tree in dot format

2024-07-05 Thread Alex Coplan
Hi, This adds a debug function to dump the dominator tree in dot/graphviz format. The idea is that the function can be called in GDB, the output copy/pasted into a .dot file and then rendered using graphviz. Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk? Thanks, Alex gcc/ChangeLog

Re: [PATCH 1/2]middle-end: fix wide_int_constant_multiple_p when VAL and DIV are 0. [PR114932]

2024-07-02 Thread Alex Coplan
On 02/07/2024 13:41, Richard Biener wrote: > On Tue, 2 Jul 2024, Alex Coplan wrote: > > > On 02/07/2024 10:46, Alex Coplan wrote: > > > On 02/07/2024 10:01, Richard Biener wrote: > > > > On Mon, 1 Jul 2024, Tamar Christina wrote: > > > > > >

Re: [PATCH 1/2]middle-end: fix wide_int_constant_multiple_p when VAL and DIV are 0. [PR114932]

2024-07-02 Thread Alex Coplan
On 02/07/2024 10:46, Alex Coplan wrote: > On 02/07/2024 10:01, Richard Biener wrote: > > On Mon, 1 Jul 2024, Tamar Christina wrote: > > > > > > -Original Message- > > > > From: Tamar Christina > > > > Sent: Monday, July 1, 2024 9:14 PM

Re: [PATCH 1/2]middle-end: fix wide_int_constant_multiple_p when VAL and DIV are 0. [PR114932]

2024-07-02 Thread Alex Coplan
if (maybe_eq (div, 0)) > > > + { > > > + *mult = 1; > > > + return true; > > > + } > > > + > > > > Note, I also tested known_eq here, and also no regression on what I can > > test. > > I picked maybe_eq since that's wh

Re: [PATCH 1/6] rtl-ssa: Rework _ignoring interfaces

2024-06-20 Thread Alex Coplan
HANGE and I are placed in a valid > order. > + // Use IGNORE to guide this process, where IGNORE is an object that > + // provides the same interface as ignore_nothing. > + // > + // That is, when determining whether REGNO is live, ignore accesses made > + // by

Re: [Patch, aarch64, middle-end] v3: Move pair_fusion pass from aarch64 to middle-end

2024-05-22 Thread Alex Coplan
22/05/2024 00:16, Ajit Agarwal wrote: > Hello Alex/Richard: > > All comments are addressed. > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end > to support multiple targets. > > Common infrastructure of load store pair fusion is divided into > target indep

Re: [Patch, aarch64, middle-end] v2: Move pair_fusion pass from aarch64 to middle-end

2024-05-21 Thread Alex Coplan
Hi Ajit, I've left some more comments below. It's getting there now, thanks for your patience. On 21/05/2024 20:32, Ajit Agarwal wrote: > Hello Alex/Richard: > > All comments are addressed. > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end >

Re: [Patch, aarch64, middle-end] Move pair_fusion pass from aarch64 to middle-end

2024-05-21 Thread Alex Coplan
On 20/05/2024 21:50, Ajit Agarwal wrote: > Hello Alex/Richard: > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end > to support multiple targets. > > Common infrastructure of load store pair fusion is divided into > target independent and target depend

Re: [Patch, aarch64, middle-end] Move pair_fusion pass from aarch64 to middle-end

2024-05-21 Thread Alex Coplan
On 21/05/2024 16:02, Ajit Agarwal wrote: > Hello Alex: > > On 21/05/24 1:16 am, Alex Coplan wrote: > > On 20/05/2024 18:44, Alex Coplan wrote: > >> Hi Ajit, > >> > >> On 20/05/2024 21:50, Ajit Agarwal wrote: > >>> Hello Alex/Richard: > >

Re: [Patch, aarch64, middle-end] Move pair_fusion pass from aarch64 to middle-end

2024-05-20 Thread Alex Coplan
On 20/05/2024 18:44, Alex Coplan wrote: > Hi Ajit, > > On 20/05/2024 21:50, Ajit Agarwal wrote: > > Hello Alex/Richard: > > > > Move pair fusion pass from aarch64-ldp-fusion.cc to middle-end > > to support multiple targets. > > > > Common infrastruct

Re: [Patch, aarch64] v6: Preparatory patch to place target independent and,dependent changed code in one file

2024-05-17 Thread Alex Coplan
Hi Ajit, On 17/05/2024 18:05, Ajit Agarwal wrote: > Hello Alex: > > On 16/05/24 10:21 pm, Alex Coplan wrote: > > Hi Ajit, > > > > Thanks a lot for working through the review feedback. > > > > Thanks a lot for reviewing the code and approving the patch.

Re: [Patch, aarch64] v6: Preparatory patch to place target independent and,dependent changed code in one file

2024-05-16 Thread Alex Coplan
to a .cc file in the middle-end. I'll let Richard S make the final judgement on that. I don't really mind either way. On 15/05/2024 15:06, Ajit Agarwal wrote: > Hello Alex/Richard: > > All review comments are addressed. > > Common infrastructure of load store pair fu

  1   2   3   4   5   6   >