diff options
author | Alan Modra <amodra@gmail.com> | 2018-11-29 15:11:06 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2018-11-29 15:11:06 +1030 |
commit | 75a0b80599ca4326da8a203e042cb9db6c27ab08 (patch) | |
tree | 5ea43ae34b9d1f277ee33c2b5c731d17058797ee /gcc/config/rs6000/rs6000-protos.h | |
parent | 645eee7431fef4cc37c5307a6c6f81fcc6c553d4 (diff) | |
download | gcc-75a0b80599ca4326da8a203e042cb9db6c27ab08.tar.gz |
[RS6000] rs6000_call_template for external call insn assembly output
This is a first step in tidying rs6000 call patterns, in preparation
to support inline plt calls.
* config/rs6000/rs6000-protos.h (rs6000_call_template): Declare.
(rs6000_sibcall_template): Declare.
(macho_call_template): Rename from output_call.
* config/rs6000/rs6000.c (rs6000_call_template_1): New function.
(rs6000_call_template, rs6000_sibcall_template): Likewise.
(macho_call_template): Rename from output_call.
* config/rs6000/rs6000.md (tls_gd_aix, tls_gd_sysv),
(tls_gd_call_aix, tls_gd_call_sysv, tls_ld_aix, tls_ld_sysv),
(tls_ld_call_aix, tls_ld_call_sysv, call_nonlocal_sysv),
(call_nonlocal_sysv_secure, call_value_nonlocal_sysv),
(call_value_nonlocal_sysv_secure, call_nonlocal_aix),
(call_value_nonlocal_aix): Use rs6000_call_template and update
occurrences of output_call to macho_call_template.
(sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv, sibcall_aix),
(sibcall_value_aix): Use rs6000_sibcall_template.
From-SVN: r266600
Diffstat (limited to 'gcc/config/rs6000/rs6000-protos.h')
-rw-r--r-- | gcc/config/rs6000/rs6000-protos.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index 6e58ce78d08..bdb2a595a4f 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -105,6 +105,8 @@ extern int ccr_bit (rtx, int); extern void rs6000_output_function_entry (FILE *, const char *); extern void print_operand (FILE *, rtx, int); extern void print_operand_address (FILE *, rtx); +extern const char *rs6000_call_template (rtx *, unsigned int, const char *); +extern const char *rs6000_sibcall_template (rtx *, unsigned int, const char *); extern enum rtx_code rs6000_reverse_condition (machine_mode, enum rtx_code); extern rtx rs6000_emit_eqne (machine_mode, rtx, rtx, rtx); @@ -222,7 +224,7 @@ extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, extern void rs6000_d_target_versions (void); #if TARGET_MACHO -char *output_call (rtx_insn *, rtx *, int, int); +char *macho_call_template (rtx_insn *, rtx *, int, int); #endif #ifdef NO_DOLLAR_IN_LABEL |