aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorBill Seurer <seurer@linux.vnet.ibm.com>2019-06-25 20:06:07 +0000
committerBill Seurer <seurer@gcc.gnu.org>2019-06-25 20:06:07 +0000
commit2c04f8476a8f00a3360bb468903c1343f126467f (patch)
tree63cbcc9fd48b6355b30e9c30e93214c7778f3f7c /gcc/config.gcc
parenta4cc28287993320b4550a8a1d3842172d41b8d1c (diff)
downloadgcc-2c04f8476a8f00a3360bb468903c1343f126467f.zip
gcc-2c04f8476a8f00a3360bb468903c1343f126467f.tar.gz
gcc-2c04f8476a8f00a3360bb468903c1343f126467f.tar.bz2
[PATCH, rs6000] Split up rs6000.c.
The source file rs6000.c has grown to unreasonable size and is being split up into several smaller source files. This should improve compilation speed for building gcc. This is the first of several patches to do this and moves most of the prologue/epilogue code to a new source file. Bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk? 2019-06-24 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/rs6000.c (stack_info, rs6000_pic_labelno, savres_routine_syms, savres_routine_name, morestack_ref, rs6000_init_machine_status, save_reg_p, first_reg_to_save, first_fp_reg_to_save, first_altivec_reg_to_save, compute_vrsave_mask, compute_save_world_info, is_altivec_return_reg, fixed_reg_p, rs6000_savres_strategy, rs6000_stack_info, debug_stack_info, rs6000_return_addr, rs6000_decl_ok_for_sibcall, rs6000_function_ok_for_sibcall, rs6000_ra_ever_killed, rs6000_emit_load_toc_table, rs6000_emit_eh_reg_restore, uses_TOC, create_TOC_reference, rs6000_aix_asm_output_dwarf_table_ref, rs6000_emit_stack_tie, rs6000_emit_allocate_stack_1, get_stack_clash_protection_probe_interval, get_stack_clash_protection_guard_size, rs6000_emit_probe_stack_range_stack_clash, rs6000_emit_allocate_stack, rs6000_emit_probe_stack_range, output_probe_stack_range_1, interesting_frame_related_regno, output_probe_stack_range_stack_clash, output_probe_stack_range, rs6000_frame_related, generate_set_vrsave, gen_frame_set, gen_frame_load, gen_frame_store, emit_frame_save, gen_frame_mem_offset, rs6000_savres_routine_name, rs6000_savres_routine_sym, rs6000_emit_stack_reset, ptr_regno_for_savres, rs6000_emit_savres_rtx, rs6000_emit_prologue_move_from_cr, split_stack_arg_pointer_used_p, rs6000_global_entry_point_prologue_needed_p, rs6000_get_separate_components, rs6000_components_for_bb, rs6000_disqualify_components, rs6000_emit_prologue_components, rs6000_emit_epilogue_components, rs6000_set_handled_components, emit_vrsave_prologue, emit_split_stack_prologue, rs6000_emit_prologue, rs6000_output_savres_externs, rs6000_output_function_prologue, rs6000_keep_leaf_when_profiled, load_cr_save, restore_saved_cr, load_lr_save, restore_saved_lr, add_crlr_cfa_restore, offset_below_red_zone_p, emit_cfa_restores, rs6000_emit_epilogue, rs6000_output_function_epilogue, gen_add3_const, rs6000_expand_split_stack_prologue, rs6000_live_on_entry, rs6000_split_stack_space_check, rs6000_save_toc_in_prologue_p): Moved to rs6000-logue.c. (machine_function): Moved to rs6000.h. (rs6000_stack_t, ALTIVEC_REG_BIT, quad_address_offset_p) Moved to rs6000-internal.h. * config/rs6000/rs6000-logue.c(stack_info, rs6000_pic_labelno, savres_routine_syms, savres_routine_name, morestack_ref, rs6000_init_machine_status, save_reg_p, first_reg_to_save, first_fp_reg_to_save, first_altivec_reg_to_save, compute_vrsave_mask, compute_save_world_info, is_altivec_return_reg, fixed_reg_p, rs6000_savres_strategy, rs6000_stack_info, debug_stack_info, rs6000_return_addr, rs6000_decl_ok_for_sibcall, rs6000_function_ok_for_sibcall, rs6000_ra_ever_killed, rs6000_emit_load_toc_table, rs6000_emit_eh_reg_restore, uses_TOC, create_TOC_reference, rs6000_aix_asm_output_dwarf_table_ref, rs6000_emit_stack_tie, rs6000_emit_allocate_stack_1, get_stack_clash_protection_probe_interval, get_stack_clash_protection_guard_size, rs6000_emit_probe_stack_range_stack_clash, rs6000_emit_allocate_stack, rs6000_emit_probe_stack_range, output_probe_stack_range_1, interesting_frame_related_regno, output_probe_stack_range_stack_clash, output_probe_stack_range, rs6000_frame_related, generate_set_vrsave, gen_frame_set, gen_frame_load, gen_frame_store, emit_frame_save, gen_frame_mem_offset, rs6000_savres_routine_name, rs6000_savres_routine_sym, rs6000_emit_stack_reset, ptr_regno_for_savres, rs6000_emit_savres_rtx, rs6000_emit_prologue_move_from_cr, split_stack_arg_pointer_used_p, rs6000_global_entry_point_prologue_needed_p, rs6000_get_separate_components, rs6000_components_for_bb, rs6000_disqualify_components, rs6000_emit_prologue_components, rs6000_emit_epilogue_components, rs6000_set_handled_components, emit_vrsave_prologue, emit_split_stack_prologue, rs6000_emit_prologue, rs6000_output_savres_externs, rs6000_output_function_prologue, rs6000_keep_leaf_when_profiled, load_cr_save, restore_saved_cr, load_lr_save, restore_saved_lr, add_crlr_cfa_restore, offset_below_red_zone_p, emit_cfa_restores, rs6000_emit_epilogue, rs6000_output_function_epilogue, gen_add3_const, rs6000_expand_split_stack_prologue, rs6000_live_on_entry, rs6000_split_stack_space_check, rs6000_save_toc_in_prologue_p): Moved to here from rs6000.c. * config/rs6000/rs6000.h (machine_function): Moved to here from rs6000.c. * config/rs6000/rs6000-internal.h: (rs6000_stack_t, ALTIVEC_REG_BIT, quad_address_offset_p) Moved to here from rs6000.c. * config/rs6000/t-rs6000: Add new source file rs6000-logue.c. * config/config.gcc: Add new source file rs6000-logue.c to garbage collector. From-SVN: r272658
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index bfe27ad..fd065c4 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -499,7 +499,7 @@ or1k*-*-*)
;;
powerpc*-*-*)
cpu_type=rs6000
- extra_objs="rs6000-string.o rs6000-p8swap.o"
+ extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
extra_headers="ppc-asm.h altivec.h htmintrin.h htmxlintrin.h"
extra_headers="${extra_headers} bmi2intrin.h bmiintrin.h"
extra_headers="${extra_headers} xmmintrin.h mm_malloc.h emmintrin.h"
@@ -524,7 +524,7 @@ riscv*)
;;
rs6000*-*-*)
extra_options="${extra_options} g.opt fused-madd.opt rs6000/rs6000-tables.opt"
- extra_objs="rs6000-string.o rs6000-p8swap.o"
+ extra_objs="rs6000-string.o rs6000-p8swap.o rs6000-logue.o"
;;
sparc*-*-*)
cpu_type=sparc
@@ -2693,6 +2693,7 @@ powerpc*-*-linux*)
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
extra_objs="$extra_objs rs6000-linux.o"
+ target_gtfiles="$target_gtfiles \$(srcdir)/config/rs6000/rs6000-logue.c"
case ${target} in
powerpc*le-*-*)
tm_file="${tm_file} rs6000/sysv4le.h" ;;