This is the mail archive of the
mailing list for the GCC project.
Re: Indirect memory addresses vs. lra
On 2019-08-08 12:43 p.m., Paul Koning wrote:
On Aug 8, 2019, at 12:25 PM, Vladimir Makarov <email@example.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 ). 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
The old reload (reload.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.