This is the mail archive of the gcc-patches@gcc.gnu.org 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: Patch: hoist more loop invariants


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>


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