Re: Help with reload and naked constant sum causing ICE

2008-05-29 Thread Denis Chertykov
2008/5/29 <[EMAIL PROTECTED]>: > Again thank you and Denis for your comment. > > Here is what I deduce from code and Denis comments - I am sure he (and > others) will correct me if wrong :-) > > > The main issue is that we have one pointer register that cannot take offset > and two base pointers

Re: Help with reload and naked constant sum causing ICE

2008-05-29 Thread hutchinsonandy
kov <[EMAIL PROTECTED]> To: Jeff Law <[EMAIL PROTECTED]> Cc: Andy H <[EMAIL PROTECTED]>; GCC Development ; [EMAIL PROTECTED] Sent: Thu, 29 May 2008 3:23 am Subject: Re: Help with reload and naked constant sum causing ICE 2008/5/29 Jeff Law <[EMAIL PROTECTED]>: Ric

Re: Help with reload and naked constant sum causing ICE

2008-05-29 Thread Denis Chertykov
2008/5/29 Jeff Law <[EMAIL PROTECTED]>: > Richard Sandiford wrote: >> >> Andy H <[EMAIL PROTECTED]> writes: If L_R_A does nothing with it, the normal reload handling will first try: (const:HI (plus:HI (symbol_ref:HI ("chk_fail_buf") (const_int 2 >>> >>> This worke

Re: Help with reload and naked constant sum causing ICE

2008-05-28 Thread Jeff Law
Richard Sandiford wrote: Andy H <[EMAIL PROTECTED]> writes: If L_R_A does nothing with it, the normal reload handling will first try: (const:HI (plus:HI (symbol_ref:HI ("chk_fail_buf") (const_int 2 This worked just as your described after I added test of reg_equiv_constant[] inside L_

Re: Help with reload and naked constant sum causing ICE

2008-05-28 Thread Richard Sandiford
[EMAIL PROTECTED] writes: > I have copied Anatoly for comment, and I promise to revisit this again > after reviewing reload capabilities. Thanks. Looking back, my message sounded like I was holding you personally responsible for the current AVR macro. Didn't mean to do that ;) Richard

Re: Help with reload and naked constant sum causing ICE

2008-05-28 Thread hutchinsonandy
May 2008 3:00 pm Subject: Re: Help with reload and naked constant sum causing ICE Andy H <[EMAIL PROTECTED]> writes: If L_R_A does nothing with it, the normal reload handling will first try: (const:HI (plus:HI (symbol_ref:HI ("chk_fail_buf") (const_int 2 This worked just as

Re: Help with reload and naked constant sum causing ICE

2008-05-28 Thread Richard Sandiford
Andy H <[EMAIL PROTECTED]> writes: >> If L_R_A does nothing with it, >> the normal reload handling will first try: >> >> (const:HI (plus:HI (symbol_ref:HI ("chk_fail_buf") (const_int 2 >> > > This worked just as your described after I added test of > reg_equiv_constant[] inside L_R_A . >

Re: Help with reload and naked constant sum causing ICE

2008-05-27 Thread Andy H
If L_R_A does nothing with it, the normal reload handling will first try: (const:HI (plus:HI (symbol_ref:HI ("chk_fail_buf") (const_int 2 This worked just as your described after I added test of reg_equiv_constant[] inside L_R_A . So I guess that looks like the fix for bug I post

Re: Help with reload and naked constant sum causing ICE

2008-05-27 Thread Andy H
Thank you very much for reply. reload is such a lonely place! TBH, it sounds like the opposite: LEGITIMIZE_RELOAD_ADDRESS should not be handling this address at all. Yes but reload will not do anything before call to L_R_A. So in practice that would mean L_R_A has to check reg_equiv_constant[re

Re: Help with reload and naked constant sum causing ICE

2008-05-27 Thread Richard Sandiford
Andy H <[EMAIL PROTECTED]> writes: > I am am tracking down ICE bug in reload during global register allocation. > > I have managed to find root of problem but I am not sure how it should > work correctly. I would appreciate anyones advise on this. > > ICE is from assert in push_reload to ensure