This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: hoist more loop invariants
- From: Geoff Keating <geoffk at geoffk dot org>
- To: Eric Botcazou <ebotcazou at libertysurf dot fr>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 31 Mar 2003 13:44:04 -0800
- Subject: Re: Patch: hoist more loop invariants
- References: <58F875B2-49F3-11D7-84F9-000393D76DAA@apple.com><200303311744.56761.ebotcazou@libertysurf.fr>
Eric Botcazou <ebotcazou at libertysurf dot fr> writes:
> > The obvious cases to exclude are when Invariant is a register or
> > LEGITIMATE_CONSTANT_P, and I've done that; there are certainly others,
> > but they're target-dependent and I don't see a good abstraction.
>
> Yes, for example on Sparc where there is no movcc pattern so gcc now emits
> invalid CCmode->CCmode moves.
>
> I suppose you're not interested in disabling entirely the optimization for
> CCmode? If so, what do you think about using can_copy_p from gcse.c?
Isn't there a macro for this?
@findex AVOID_CCMODE_COPIES
@item AVOID_CCMODE_COPIES
Define this macro if the compiler should avoid copies to/from @code{CCmode}
registers. You should only define this macro if support for copying to/from
@code{CCmode} is incomplete.
@end table
--
- Geoffrey Keating <geoffk at geoffk dot org>