This is the mail archive of the gcc@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: PR53914, rs6000 constraints and reload queries


Olivier Hainque wrote:

> I had made a proposal to help the rs6000_mode_dependent_address
> issue, http://gcc.gnu.org/ml/gcc-patches/2012-04/msg01668.html.
> 
> Seems to me that the general idea is still valid:
> 
> << a number of places in the compiler use the
>    mode_dependent_address_p predicate to actually check for weaker necessary
>    conditions
> >>
> 
> Opinion on the proposal ?

I've been wondering about mode_dependent_address_p myself.  It currently
appears to cover two quite separate questions:

- If I have a valid address, will it remain valid if I change its mode to
  something else?

- If I have a valid address, and change it mode (resulting in another
  valid address), will the two address expressions have different
  "meanings" or side effects?  (E.g. an auto-increment address where
  the increment depends on the mode size.)

It seems to me that the first of those questions is rather redundant.
Instead of speculating whether the address would remain valid if the
mode were changed, code should IMO rather simply just change the
address and then check its validity in the usual way (legitimate
address etc.).  Only the second question really provides any actual
*new* information ...

See also the reload patch I recently posted to get rid of some uses
of offsettable_memref_p in favor of simply doing the change and testing
its validity afterwards:
http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01421.html

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


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