rs6000: Add rs6000_cfun_pcrel_p
authorBill Schmidt <wschmidt@linux.ibm.com>
Wed, 16 Sep 2020 21:12:35 +0000 (16:12 -0500)
committerBill Schmidt <wschmidt@linux.ibm.com>
Wed, 16 Sep 2020 21:12:35 +0000 (16:12 -0500)
commit8c0f8755b2a2cf60cafad74e7ffbe32a653ebc4c
tree4020f7116134939b8a39ac60f855787e29c388e9
parent71ad0b5dde449ee1f6b755a99f5c52152e375835
rs6000: Add rs6000_cfun_pcrel_p

Most uses of rs6000_pcrel_p are called for the current function.
A specialized version for cfun is more efficient for these uses.

2020-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
* config/rs6000/predicates.md (current_file_function_operand):
Remove argument from rs6000_pcrel_p call.
* config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
Likewise.
(rs6000_global_entry_point_prologue_needed_p): Likewise.
(rs6000_output_function_prologue): Likewise.
* config/rs6000/rs6000-protos.h (rs6000_function_pcrel_p): New
prototype.
(rs6000_pcrel_p): Remove argument.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
argument from rs6000_pcrel_p call.
(rs6000_call_template_1): Likewise.
(rs6000_indirect_call_template_1): Likewise.
(rs6000_longcall_ref): Likewise.
(rs6000_call_aix): Likewise.
(rs6000_sibcall_aix): Likewise.
(rs6000_function_pcrel_p): Rename from rs6000_pcrel_p.
(rs6000_pcrel_p): Rewrite.
* config/rs6000/rs6000.md (*pltseq_plt_pcrel<mode>): Remove
argument from rs6000_pcrel_p call.
(*call_local<mode>): Likewise.
(*call_value_local<mode>): Likewise.
(*call_nonlocal_aix<mode>): Likewise.
(*call_value_nonlocal_aix<mode>): Likewise.
(*call_indirect_pcrel<mode>): Likewise.
(*call_value_indirect_pcrel<mode>): Likewise.
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000-logue.c
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md