Reload bug

Jan Hubicka jh@suse.cz
Wed Apr 9 11:25:00 GMT 2003


> > Thu Oct 17 17:14:07 CEST 2002  Jan Hubicka  <jh@suse.cz>
> >
> > 	PR opt/7630
> > 	* reload.c (reload_inner_reg_of_subreg): New argument output;
> > 	(push_reload): Update call.
> 
> This patch is really bogus, at least on the 3.2 branch: sure, GCC doesn't ICE 
> when compiling pr7630.c any more but now it silently produces wrong code!

Urm.  The use of SSE is completely broken idea here..  Will have to look
why register allocator decided that.

> 
> What you have done is to teach the reload pass to silently transform any 
> non-accessible part of a multi-word register into the low part.

In the case the subreg is undable (ie it is in the SSE), or can this
happen in the integer register too?

> 
> Please revert on the 3.2 branch or consider applying the correction I posted 
> (which of course brings back the ICE for PR opt/7630).
Or we can backport the CANNOT_CHANGE_MODE_PATCH.  I would be happy about
any alternative for 3.2

Honza
> 
> Thanks.
> 
> -- 
> Eric Botcazou




More information about the Gcc mailing list