RE: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread Bingfeng Mei
-Original Message- From: Bin.Cheng [mailto:amker.ch...@gmail.com] Sent: 20 June 2014 06:25 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: regs_used estimation in IVOPTS seriously flawed On Tue, Jun 17, 2014 at 10:59 PM, Bingfeng Mei b...@broadcom.com wrote: Hi, I am

Re: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread Bin.Cheng
On Fri, Jun 20, 2014 at 5:01 PM, Bingfeng Mei b...@broadcom.com wrote: -Original Message- From: Bin.Cheng [mailto:amker.ch...@gmail.com] Sent: 20 June 2014 06:25 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: regs_used estimation in IVOPTS seriously flawed On Tue, Jun 17, 2014

RE: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread Bingfeng Mei
estimation in IVOPTS seriously flawed On Fri, Jun 20, 2014 at 5:01 PM, Bingfeng Mei b...@broadcom.com wrote: -Original Message- From: Bin.Cheng [mailto:amker.ch...@gmail.com] Sent: 20 June 2014 06:25 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: regs_used estimation

Re: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread David Edelsohn
On Fri, Jun 20, 2014 at 5:01 AM, Bingfeng Mei b...@broadcom.com wrote: As a short term solution, I tried some simple non-linear functions as Richard suggested to penalize using too many IVs. For example, the following cost in ivopts_global_cost_for_size fixed my regression and actually

Re: regs_used estimation in IVOPTS seriously flawed

2014-06-19 Thread Bin.Cheng
On Tue, Jun 17, 2014 at 10:59 PM, Bingfeng Mei b...@broadcom.com wrote: Hi, I am looking at a performance regression in our code. A big loop produces and uses a lot of temporary variables inside the loop body. The problem appears that IVOPTS pass creates even more induction variables (from

Re: regs_used estimation in IVOPTS seriously flawed

2014-06-18 Thread Richard Biener
On Tue, Jun 17, 2014 at 4:59 PM, Bingfeng Mei b...@broadcom.com wrote: Hi, I am looking at a performance regression in our code. A big loop produces and uses a lot of temporary variables inside the loop body. The problem appears that IVOPTS pass creates even more induction variables (from

RE: regs_used estimation in IVOPTS seriously flawed

2014-06-18 Thread Bingfeng Mei
-Original Message- From: Richard Biener [mailto:richard.guent...@gmail.com] Sent: 18 June 2014 12:36 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: regs_used estimation in IVOPTS seriously flawed On Tue, Jun 17, 2014 at 4:59 PM, Bingfeng Mei b...@broadcom.com wrote: Hi, I

regs_used estimation in IVOPTS seriously flawed

2014-06-17 Thread Bingfeng Mei
Hi, I am looking at a performance regression in our code. A big loop produces and uses a lot of temporary variables inside the loop body. The problem appears that IVOPTS pass creates even more induction variables (from original 2 to 27). It causes a lot of register spilling later and performance