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