Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-15 Thread Jan Hubicka
> On Tue, Feb 14, 2017 at 2:13 PM, Bin.Cheng wrote: > > On Tue, Feb 14, 2017 at 1:57 PM, Jan Hubicka wrote: > >>> Thanks, > >>> bin > >>> 2017-02-13 Bin Cheng > >>> > >>> PR tree-optimization/79347 > >>> *

Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-15 Thread Bin.Cheng
On Tue, Feb 14, 2017 at 2:13 PM, Bin.Cheng wrote: > On Tue, Feb 14, 2017 at 1:57 PM, Jan Hubicka wrote: >>> Thanks, >>> bin >>> 2017-02-13 Bin Cheng >>> >>> PR tree-optimization/79347 >>> * tree-vect-loop-manip.c

Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-14 Thread Pat Haugen
On 02/14/2017 07:57 AM, Jan Hubicka wrote: > So it seems that the frequency of the loop itself is unrealistically scaled > down. > Before vetorizing the frequency is 8500 and predicted number of iterations is > 6.6. Now the loop is intereed via BB 8 with frequency 1148, so the loop, by > exit

Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-14 Thread Bin.Cheng
On Tue, Feb 14, 2017 at 1:57 PM, Jan Hubicka wrote: >> Thanks, >> bin >> 2017-02-13 Bin Cheng >> >> PR tree-optimization/79347 >> * tree-vect-loop-manip.c (apply_probability_for_bb): New function. >> (vect_do_peeling): Maintain profile

Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-14 Thread Jan Hubicka
> Thanks, > bin > 2017-02-13 Bin Cheng > > PR tree-optimization/79347 > * tree-vect-loop-manip.c (apply_probability_for_bb): New function. > (vect_do_peeling): Maintain profile counters during peeling. > > gcc/testsuite/ChangeLog > 2017-02-13 Bin Cheng

[PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-14 Thread Bin Cheng
Hi, This patch fixes issue reported by PR79347 by calculating/maintaining profile counter information on the fly in vect_do_peeling. Due to the order that we first peel prologue loop, peel epilogue loop, and then add guarding edge skipping prolog+vector loop if niter is small, this patch takes