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

2024-06-13 Thread Jeff Law
On 6/13/24 5:40 AM, Manolis Tsamis wrote: Could you please run the v3 with your tester? I assume some of the additional fixes introduced may clear some of the other issues. Will do. jeff

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

2024-06-13 Thread Manolis Tsamis
On Sun, Jun 9, 2024 at 5:29 PM Jeff Law wrote: > > > > On 6/7/24 4:31 PM, Jeff Law wrote: > > > > > I've actually added it to my tester just to see if there's any fallout. > > It'll take a week to churn through the long running targets that > > bootstrap in QEMU, but the crosses should have data M

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

2024-06-12 Thread Jeff Law
On 6/12/24 12:47 AM, Richard Biener wrote: One of the points I wanted to make is that sched1 can make quite a difference as to the relative distance of the store and load and we have the instruction window the pass considers when scanning (possibly driven by target uarch details). So doing

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

2024-06-12 Thread Manolis Tsamis
On Mon, Jun 10, 2024 at 9:27 PM Philipp Tomsich wrote: > > On Mon, 10 Jun 2024 at 20:03, Jeff Law wrote: > > > > > > > > On 6/10/24 1:55 AM, Manolis Tsamis wrote: > > > > >> > > > There was an older submission of a load-pair specific pass but this is > > > a complete reimplementation and indeed s

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

2024-06-11 Thread Richard Biener
On Tue, 11 Jun 2024, Jeff Law wrote: > > > On 6/11/24 7:52 AM, Philipp Tomsich wrote: > > On Tue, 11 Jun 2024 at 15:37, Jeff Law wrote: > >> > >> > >> > >> On 6/11/24 1:22 AM, Richard Biener wrote: > >> > Absolutely. But forwarding from a smaller store to a wider load is > painful >

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

2024-06-11 Thread Jeff Law
On 6/11/24 7:52 AM, Philipp Tomsich wrote: On Tue, 11 Jun 2024 at 15:37, Jeff Law wrote: On 6/11/24 1:22 AM, Richard Biener wrote: Absolutely. But forwarding from a smaller store to a wider load is painful from a hardware standpoint and if we can avoid it from a codegen standpoint, we

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

2024-06-11 Thread Philipp Tomsich
On Tue, 11 Jun 2024 at 15:37, Jeff Law wrote: > > > > On 6/11/24 1:22 AM, Richard Biener wrote: > > >> Absolutely. But forwarding from a smaller store to a wider load is > >> painful > >> from a hardware standpoint and if we can avoid it from a codegen > >> standpoint, > >> we should. > > > >

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

2024-06-11 Thread Jeff Law
On 6/11/24 1:22 AM, Richard Biener wrote: Absolutely. But forwarding from a smaller store to a wider load is painful from a hardware standpoint and if we can avoid it from a codegen standpoint, we should. Note there's also the possibility to increase the distance between the store and the

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

2024-06-11 Thread Richard Biener
On Mon, 10 Jun 2024, Jeff Law wrote: > > > On 6/10/24 1:55 AM, Manolis Tsamis wrote: > > >> > > There was an older submission of a load-pair specific pass but this is > > a complete reimplementation and indeed significantly more general. > > Apart from being target independant, it addresses a n

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

2024-06-10 Thread Jeff Law
On 6/10/24 12:27 PM, Philipp Tomsich wrote: This change is what I briefly hinted as "the complete solution" that we had on the drawing board when we briefly talked last November in Santa Clara. I haven't any recollection of that part of the discussion, but I was a bit frazzled as you probab

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

2024-06-10 Thread Philipp Tomsich
On Mon, 10 Jun 2024 at 20:03, Jeff Law wrote: > > > > On 6/10/24 1:55 AM, Manolis Tsamis wrote: > > >> > > There was an older submission of a load-pair specific pass but this is > > a complete reimplementation and indeed significantly more general. > > Apart from being target independant, it addre

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

2024-06-10 Thread Jeff Law
On 6/10/24 1:55 AM, Manolis Tsamis wrote: There was an older submission of a load-pair specific pass but this is a complete reimplementation and indeed significantly more general. Apart from being target independant, it addresses a number of important restrictions and can handle multiple st

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

2024-06-10 Thread Manolis Tsamis
On Sun, Jun 9, 2024 at 5:29 PM Jeff Law wrote: > > > > On 6/7/24 4:31 PM, Jeff Law wrote: > > > > > I've actually added it to my tester just to see if there's any fallout. > > It'll take a week to churn through the long running targets that > > bootstrap in QEMU, but the crosses should have data M

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

2024-06-10 Thread Manolis Tsamis
On Sat, Jun 8, 2024 at 1:31 AM Jeff Law wrote: > > > > On 6/6/24 4:10 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: > >

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

2024-06-09 Thread Richard Biener
On Fri, 7 Jun 2024, Jeff Law wrote: > > > On 6/6/24 4:10 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: > > > >

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

2024-06-09 Thread Jeff Law
On 6/7/24 4:31 PM, Jeff Law wrote: I've actually added it to my tester just to see if there's any fallout. It'll take a week to churn through the long running targets that bootstrap in QEMU, but the crosses should have data Monday. The first round naturally didn't trigger anything because t

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

2024-06-07 Thread Jeff Law
On 6/6/24 4:10 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: strbw2, [x1, 1] ldr x0, [x1] # Expensive stor