Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-10-18 Thread Konstantinos Eleftheriou
Sent a new version for this in https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665794.html. Thanks, Konstantinos. On Fri, Aug 30, 2024 at 4:32 PM Richard Sandiford wrote: > > Manolis Tsamis writes: > >> > I could have some help with that, because after the new changes a > >> > subreg rel

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-30 Thread Richard Sandiford
Manolis Tsamis writes: >> > I could have some help with that, because after the new changes a >> > subreg related ICE also happens within store_bit_field when a DI -> >> > V4SI case is hit. Afaik store_bit_field should just return NULL if it >> > can't handle something so I don't really know how t

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-30 Thread Manolis Tsamis
On Thu, Aug 29, 2024 at 9:16 PM Richard Sandiford wrote: > > Manolis Tsamis writes: > > On Fri, Aug 16, 2024 at 5:33 PM Richard Sandiford > > wrote: > >> Manolis Tsamis writes: > >> > +} > >> > + > >> > + virtual unsigned int execute (function *) override; > >> > +}; // class pass_rtl_avoi

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-29 Thread Jeff Law
On 8/29/24 12:16 PM, Richard Sandiford wrote: Most passes were written while the codebase was still C. I think newer passes have generally been written in the way I described. Where possible, it'd be better for new code to avoid using globals to communicate information between functions, to

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-29 Thread Richard Sandiford
Manolis Tsamis writes: > On Fri, Aug 16, 2024 at 5:33 PM Richard Sandiford > wrote: >> Manolis Tsamis writes: >> > +} >> > + >> > + virtual unsigned int execute (function *) override; >> > +}; // class pass_rtl_avoid_store_forwarding >> > + >> > +static unsigned int stats_sf_detected = 0; >

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-29 Thread Manolis Tsamis
Hi Richard, Thanks a lot for the extensive review and useful suggestions (and sorry for the late reply). I have implemented most of these for a next version, so let me address your individual comments below: On Fri, Aug 16, 2024 at 5:33 PM Richard Sandiford wrote: > > Manolis Tsamis writes: > >

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-16 Thread Richard Sandiford
Manolis Tsamis writes: > This pass detects cases of expensive store forwarding and tries to avoid them > by reordering the stores and using suitable bit insertion sequences. > For example it can transform this: > > strbw2, [x1, 1] > ldr x0, [x1] # Expensive store forwarding

Re: [PATCH v5] Target-independent store forwarding avoidance.

2024-08-11 Thread Jeff Law
On 8/9/24 8:58 AM, Manolis Tsamis wrote: This pass detects cases of expensive store forwarding and tries to avoid them by reordering the stores and using suitable bit insertion sequences. For example it can transform this: [ ... ] Trying to bootstrap (enabled by default) on 68k: ../../..

[PATCH v5] Target-independent store forwarding avoidance.

2024-08-09 Thread Manolis Tsamis
This pass detects cases of expensive store forwarding and tries to avoid them by reordering the stores and using suitable bit insertion sequences. For example it can transform this: strbw2, [x1, 1] ldr x0, [x1] # Expensive store forwarding to larger load. To: ldr