Re: [RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack - V2

2021-07-08 Thread Richard Biener via Gcc-patches
On Fri, Jul 9, 2021 at 4:39 AM Jeff Law wrote: > > > > On 7/2/2021 10:13 AM, Jeff Law wrote: > > > > This is a minor missed optimization we found with our internal port. > > > > Given this code: > > > > typedef struct {short a; short b;} T; > > > > extern void g1(); > > > > void f(T s) > > { > >

Re: [RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack - V2

2021-07-08 Thread Jeff Law
On 7/2/2021 10:13 AM, Jeff Law wrote: This is a minor missed optimization we found with our internal port. Given this code: typedef struct {short a; short b;} T; extern void g1(); void f(T s) {     if (s.a < 0)     g1(); } "s" is passed in a register, but it's still a BLK

Re: [RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack

2021-07-08 Thread Jeff Law via Gcc-patches
On 7/5/2021 5:17 AM, Richard Biener via Gcc-patches wrote: On Fri, Jul 2, 2021 at 6:13 PM Jeff Law wrote: This is a minor missed optimization we found with our internal port. Given this code: typedef struct {short a; short b;} T; extern void g1(); void f(T s) { if (s.a < 0)

Re: [RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack

2021-07-05 Thread Jeff Law via Gcc-patches
On 7/5/2021 5:17 AM, Richard Biener via Gcc-patches wrote: On Fri, Jul 2, 2021 at 6:13 PM Jeff Law wrote: This is a minor missed optimization we found with our internal port. Given this code: typedef struct {short a; short b;} T; extern void g1(); void f(T s) { if (s.a < 0)

Re: [RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack

2021-07-05 Thread Richard Biener via Gcc-patches
On Fri, Jul 2, 2021 at 6:13 PM Jeff Law wrote: > > > This is a minor missed optimization we found with our internal port. > > Given this code: > > typedef struct {short a; short b;} T; > > extern void g1(); > > void f(T s) > { > if (s.a < 0) > g1(); > } > > > "s" is passe

[RFA] Attach MEM_EXPR information when flushing BLKmode args to the stack

2021-07-02 Thread Jeff Law
This is a minor missed optimization we found with our internal port. Given this code: typedef struct {short a; short b;} T; extern void g1(); void f(T s) {     if (s.a < 0)     g1(); } "s" is passed in a register, but it's still a BLKmode object because the alignment of T i