copyprop_hardreg_forward removes division

Jan Hubicka jh@suse.cz
Sun Feb 17 11:12:00 GMT 2002


> > Lars Brinkhoff <lars.spam@nocrew.org> writes:
> > > Jan Hubicka <jh@suse.cz> writes:
> > > > Lars Brinkhoff wrote:
> > > > > I have a problem with a dissapearing division instruction.
> > > > It looks like you are having same problem as I had. copyprop_hardreg misses
> > > > the stores to subregs.  I've commited fix to that so hope it is OK in the
> > > > tree (see kill_value).
> > > No.  I'm using the trunk of the tree, updated yesterday, and your
> > > patch seems to be there
> > 
> > kill_set_value is called with the SUBREGs, so I need something like
> > this, or else kill_set_value will never call kill_value.  However,
> > this duplicates what your patch did to kill_value, so maybe we can
> > just change "REG_P(x)" to "(REG_P (x) || GET_CODE (x) == SUBREG)"
> > or something.S
> > 
> > What do you think?  I'll make a fully tested patch when I know what
> > the best solution is.
> 
> I guess this is not complettely valid. We are setting the subreg, not the
> reg itself.  Safe fix would be to call kill_value outside the if block.
> I will send patch shortly.

I've sent patch that should fix the problem to the other thread
about fabs on P4 that exhibits the same bug.

Honza



More information about the Gcc mailing list