Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-13 Thread Jeff Law
On 02/12/15 05:40, Alex Velenko wrote: On 09/02/15 23:32, Jeff Law wrote: On 02/03/15 20:03, Bin.Cheng wrote: I looked into the test and can confirm the previous compilation is correct. The cover letter of this patch said IRA mis-handled REQ_EQUIV before, but in this case it is REG_EQUAL that i

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-12 Thread Alex Velenko
On 09/02/15 23:32, Jeff Law wrote: On 02/03/15 20:03, Bin.Cheng wrote: I looked into the test and can confirm the previous compilation is correct. The cover letter of this patch said IRA mis-handled REQ_EQUIV before, but in this case it is REG_EQUAL that is lost. The full dump (without this pat

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-10 Thread Jeff Law
On 02/10/15 03:51, Ajit Kumar Agarwal wrote: R110 can have the value -1 (BB6, BB7, BB8) or 0 (BB5). Thus there is no single value across the entire function that one can validly use for r110. Does the value of R110 should not change across all the callee path from the given caller functions.

RE: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-10 Thread Ajit Kumar Agarwal
: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition On 02/03/15 20:03, Bin.Cheng wrote: > I looked into the test and can confirm the previous compilation is correct. > The cover letter of this patch said IRA mis-handled REQ_EQUIV before, > bu

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-09 Thread Jeff Law
On 02/03/15 20:03, Bin.Cheng wrote: I looked into the test and can confirm the previous compilation is correct. The cover letter of this patch said IRA mis-handled REQ_EQUIV before, but in this case it is REG_EQUAL that is lost. The full dump (without this patch) after IRA is like: Right, but a

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-03 Thread Bin.Cheng
On Wed, Feb 4, 2015 at 12:28 AM, Jeff Law wrote: > On 02/03/15 01:29, Bin.Cheng wrote: >> >> >> Hmm, if I understand correctly, it's a code size regression, so I >> don't think it's appropriate to adapt the test case. Either the patch >> or something else in GCC is doing wrong, right? >> >> Hi Al

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-03 Thread Jeff Law
On 02/03/15 01:29, Bin.Cheng wrote: Hmm, if I understand correctly, it's a code size regression, so I don't think it's appropriate to adapt the test case. Either the patch or something else in GCC is doing wrong, right? Hi Alex, could you please file a PR with full dump information for trackin

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-03 Thread Alex Velenko
On 03/02/15 08:29, Bin.Cheng wrote: On Tue, Feb 3, 2015 at 3:24 PM, Jeff Law wrote: On 02/02/15 08:59, Alex Velenko wrote: On 11/10/14 13:44, Felix Yang wrote: Hello Jeff, I see that you have improved the RTL typesafety issue for ira.c, so I rebased this patch on the latest tru

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-03 Thread Bin.Cheng
On Tue, Feb 3, 2015 at 3:24 PM, Jeff Law wrote: > On 02/02/15 08:59, Alex Velenko wrote: >> >> On 11/10/14 13:44, Felix Yang wrote: >>> >>> Hello Jeff, >>> >>> I see that you have improved the RTL typesafety issue for ira.c, >>> so I rebased this patch >>> on the latest trunk and change

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-02 Thread Jeff Law
On 02/02/15 08:59, Alex Velenko wrote: On 11/10/14 13:44, Felix Yang wrote: Hello Jeff, I see that you have improved the RTL typesafety issue for ira.c, so I rebased this patch on the latest trunk and change to use the new list walking interface. Bootstrapped on x86_64-SUSE-Linux

Re: Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2015-02-02 Thread Alex Velenko
On 11/10/14 13:44, Felix Yang wrote: Hello Jeff, I see that you have improved the RTL typesafety issue for ira.c, so I rebased this patch on the latest trunk and change to use the new list walking interface. Bootstrapped on x86_64-SUSE-Linux and make check regression tested.

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-10-13 Thread Jeff Law
On 10/11/14 06:44, Felix Yang wrote: Hello Jeff, I see that you have improved the RTL typesafety issue for ira.c, so I rebased this patch on the latest trunk and change to use the new list walking interface. Bootstrapped on x86_64-SUSE-Linux and make check regression tested.

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-10-11 Thread Felix Yang
Hello Jeff, I see that you have improved the RTL typesafety issue for ira.c, so I rebased this patch on the latest trunk and change to use the new list walking interface. Bootstrapped on x86_64-SUSE-Linux and make check regression tested. OK for trunk? Index: gcc/ChangeLog ===

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-29 Thread Jeff Law
On 09/27/14 08:48, Felix Yang wrote: Thanks for the explaination. I have changed the loop_depth into a short interger hoping that we can save some memory :-) Thanks. Attached please find the updated patch. Bootstrapped and reg-tested on x86_64-suse-linux. Please do a final revew once the assig

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-27 Thread Felix Yang
Thanks for the explaination. I have changed the loop_depth into a short interger hoping that we can save some memory :-) Attached please find the updated patch. Bootstrapped and reg-tested on x86_64-suse-linux. Please do a final revew once the assignment is ready. As for the new list walking inter

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-26 Thread Jeff Law
On 09/26/14 07:57, Felix Yang wrote: Hi Jeff, Thanks for the suggestions. I updated the patch accordingly. 1. Both my employer(Huawei) and I have signed the copyright assignments with FSF. These assignments are already sent via post two days ago and hopefully should reach FSF

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-26 Thread Felix Yang
Hi Jeff, Thanks for the suggestions. I updated the patch accordingly. 1. Both my employer(Huawei) and I have signed the copyright assignments with FSF. These assignments are already sent via post two days ago and hopefully should reach FSF in one week. Maybe it's OK to com

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-25 Thread Jeff Law
On 09/24/14 06:07, Felix Yang wrote: Hi Jeff, Thanks for the comments. I updated the patch adding some enhancements. Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for trunk. Three points: 1. For multiple-set register, it is not qualified to have a equiv no

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-24 Thread Felix Yang
PING ? Cheers, Felix On Wed, Sep 24, 2014 at 8:07 PM, Felix Yang wrote: > Hi Jeff, > > Thanks for the comments. I updated the patch adding some enhancements. > Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for > trunk. > > Three points: > 1. For multiple-set r

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-24 Thread Felix Yang
Hi Jeff, Thanks for the comments. I updated the patch adding some enhancements. Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for trunk. Three points: 1. For multiple-set register, it is not qualified to have a equiv note once it is marked by no_equiv. The patch

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-23 Thread Jeff Law
On 09/23/14 04:51, Felix Yang wrote: Hi, Ignore the previous message. Attached please find the updated patch. Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for trunk. Index: gcc/ChangeLog === --- g

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-23 Thread Felix Yang
Hi, Ignore the previous message. Attached please find the updated patch. Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for trunk. Index: gcc/ChangeLog === --- gcc/ChangeLog(revision 215500) +++ gcc/

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-23 Thread Felix Yang
Hi, Attached please fined the updated patch. Cheers, Felix On Tue, Sep 23, 2014 at 10:48 AM, Yangfei (Felix) wrote: >> On 09/22/14 08:40, Felix Yang wrote: >> > Hi, >> > >> > I find that update_equiv_regs in ira.c sets the wrong EQUIV >> > reg-note for pseudo with more than one definit

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-22 Thread Yangfei (Felix)
> On 09/22/14 08:40, Felix Yang wrote: > > Hi, > > > > I find that update_equiv_regs in ira.c sets the wrong EQUIV > > reg-note for pseudo with more than one definiton in certain situation. > > Here is a simplified RTL snippet after this function finishs handling: > > > > (insn 77 37 78

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-22 Thread Jeff Law
On 09/22/14 08:40, Felix Yang wrote: Hi, I find that update_equiv_regs in ira.c sets the wrong EQUIV reg-note for pseudo with more than one definiton in certain situation. Here is a simplified RTL snippet after this function finishs handling: (insn 77 37 78 2 (set (reg:SI 171)