From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joern Rennecke To: weigand@immd1.informatik.uni-erlangen.de (Ulrich Weigand) Cc: gcc@gcc.gnu.org, uweigand@de.ibm.com, hpenner@de.ibm.com Subject: Re: find_reloads_address_1 question Date: Sun, 07 Oct 2001 13:28:00 -0000 Message-id: <200110072025.VAA00656@meolyon.local> References: <200110010042.CAA28641@faui11.informatik.uni-erlangen.de> X-SW-Source: 2001-10/msg00512.html > Specifically I've tried to declare addresses of the form > (plus (plus (reg) (const_int)) (plus (reg) (const_int))) ... > But this caused bootstrap failure because reload simply > didn't reload the registers to hard registers and left > pseudos in ... > > Am I just trying something stupid here, or would this be > considered a bug in reload? Yes. Both. You are allowing non-canonical RTL, and AFAICT there is no good reason to do this here. On the other hand, gcc would be easier to port if find_reloads_address either had a fallback method to reload all kinds of addressing modes, or at least aborted for ones that it doesn't handle. Note that there is a comment at the start of this function that hints at this defect: ...this is not fully machine-customizable;... .