On Sun, 17 May 2015, Segher Boessenkool wrote:
> I used <http://git.infradead.org/users/segher/buildall.git>; it has
> a README. I see that doc is a little out of date, I'll update.
("git:" not "http:" for cloning) Thanks, looks useful.
Hm, maybe we already mention this in the wiki...
> > - add a preferred canonicalization function to do conversion
> > to/from memory-address-canonical RTL. Like
> > fwprop.c:canonicalize_address (just not static :) and maybe also
> > a canonicalize_nonaddress. At the moment, ports call
> > replace_equiv_address (family of functions) when changing
> > address RTL, but that code-path (at a glance) doesn't
> > canonicalize whatever non-address-canonical RTL you throw at it.
> > Maybe it should?
>
> Maybe validize_mem is nicer? It depends much what you really
> want to change.
I'd had made use of a function that'd automatically rewrite an
ASHIFT into a MULT. No, validize_mem is kind-of a sibling to
replace_equiv_address with just the containing MEM and will just
call it, says the code. A call to replace_equiv_address (& Co.)
will *break out* invalid expressions like an ASHIFT - or at
least is supposed to do that.
But that'd be mostly for convenience of other ports; I've coped
now, I think.
> Does simplify_rtx not do what you want for "nonaddress"?
Oh, right, that's already what we have, thanks.
brgds, H-P