[RFC] Fix PR c/5250
Gwenole Beauchesne
gbeauchesne@mandrakesoft.com
Thu Feb 14 09:40:00 GMT 2002
Hi,
[about disabling noop_moves optimization]
> This patch seems pretty dramatic, and, as Jan says, I don't see why, in
> prinicple, it should help. So, without further analysis, I don't think
> this patch is appropriate for the 3.0 branch.
I have a question: in jump.c (delete_noop_moves), near line 1045, we are
told to handle the case where we have two consecutive assignments of the
same constant to pseudos that didn't get a hard reg. However, in the
testcase posted earlier we do handle this case even if DREG is a hard
register, is that normal?
i.e. why testing for (dreg >= 0) instead of, for example,
(REGNO (SET_DEST (body)) >= FIRST_PSEUDO_REGISTER),
or (dreg >= FIRST_PSEUDO_REGISTER) ?
On the other hand, the only case in true_regnum() where we would return a
pseudo that was not assigned a hard register (for DREG) would be when
reg_renumber[regno] >= FIRST_PSEUDO_REGISTER.
Thanks,
Gwenole.
More information about the Gcc-patches
mailing list