https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116236

--- Comment #11 from Jeffrey A. Law <law at gcc dot gnu.org> ---
In general I would think rejecting is right way to go under the general
guidance of making the predicates and such match what the underlying hardware
can actually do.  So for example, if we we have (mem (reg X)) and we can in
theory propagate d0 resulting in (mem (reg d0)).  Conceptually that might be
worth rejecting.

But you'd have to actually evaluate how it impacts the code -- the m68k port
was written at a time when the standard way to deal with these problems was
punt to reload.  And while a change may make conceptual sense (like tightening
the address checking routines, predicates, etc), such changes may actually make
the resultant code worse.

Reply via email to