This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: copyprop_hardreg_forward removes division

> > Lars Brinkhoff <> writes:
> > > Jan Hubicka <> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]