On 2019-08-08 12:43 p.m., Paul Koning wrote:
On Aug 8, 2019, at 12:25 PM, Vladimir Makarov <vmaka...@redhat.com> wrote:
On 2019-08-04 3:18 p.m., John Darrington wrote:
I'm trying to write a back-end for an architecture (s12z - the ISA you can
download from [1]). This arch accepts indirect memory addresses. That is to
say, those of the form (mem (mem (...))) and although my
TARGET_LEGITIMATE_ADDRESS
function returns true for such addresses, LRA insists on reloading them out of
existence.
...
The old reload (reload[1].c) supports such addressing. As modern mainstream
architectures have no this kind of addressing, it was not implemented in LRA.
Is LRA only intended for "modern mainstream architectures"?
No. As I wrote patches implementing indirect addressing is welcomed.
It is hard to implement everything at once and by one person.
If yes, why is the old reload being deprecated?
You can't have it both ways. Unless you want to obsolete all "not modern
mainstream architectures" in GCC, it doesn't make sense to get rid of core
functionality used by those architectures.
Indirect addressing is a key feature in size-optimized code.