Re: [PATCH][GCC 7] Fix PR70171

2016-04-19 Thread Richard Biener
On Fri, Mar 11, 2016 at 3:01 PM, Richard Biener wrote: > > The following teaches phiprop to handle the case of aggregate copies > where the aggregate has non-BLKmode which means it is very likely > expanded as reg-reg moves (any better test for that apart from > checking for non-BLKmode?). This i

Re: [PATCH][GCC 7] Fix PR70171

2016-03-15 Thread Eric Botcazou
> It looks like it might catch a few extra cases where the address of the > decl is required. But it also looks like it's somewhat overly broad like > > /* Function types that are TREE_ADDRESSABLE force return in memory. */ > if (fntype && TREE_ADDRESSABLE (fntype)) > return 1; > > with

Re: [PATCH][GCC 7] Fix PR70171

2016-03-14 Thread Richard Biener
On Fri, 11 Mar 2016, Eric Botcazou wrote: > > The following teaches phiprop to handle the case of aggregate copies > > where the aggregate has non-BLKmode which means it is very likely > > expanded as reg-reg moves (any better test for that apart from > > checking for non-BLKmode?). > > !aggreg

Re: [PATCH][GCC 7] Fix PR70171

2016-03-11 Thread Eric Botcazou
> The following teaches phiprop to handle the case of aggregate copies > where the aggregate has non-BLKmode which means it is very likely > expanded as reg-reg moves (any better test for that apart from > checking for non-BLKmode?). !aggregate_value_p comes to mind, but non-BLKmode is the defin

[PATCH][GCC 7] Fix PR70171

2016-03-11 Thread Richard Biener
The following teaches phiprop to handle the case of aggregate copies where the aggregate has non-BLKmode which means it is very likely expanded as reg-reg moves (any better test for that apart from checking for non-BLKmode?). This improves code for the testcase from _Z14struct_ternary1SS_b: .LFB