> 
> OK, then it's fairly x86-64 specific optimization, because we can't do "call 
> *mem" in
> aarch64 and some other targets.

It is a fairly x86_64 specific optimization and doesn't apply to AArch64.

The question really is what impact does removing the generic code handling have 
on aarch64 - is it a no-op or not for the existing -fno-plt implementation in 
the AArch64 backend ? The only case that is of interest is the bit below in 
calls.c and it looks like that may well be redundant with the logic in the 
backend already, but I have not done the full analysis to convince myself that 
the code in the backend is sufficient.

-  && (!flag_plt
-              || lookup_attribute ("noplt", DECL_ATTRIBUTES (fndecl_or_type)))
-          && !targetm.binds_local_p (fndecl_or_type))


regards
Ramana

Reply via email to