r273607 - in /trunk/gcc: ChangeLog config.gcc c...

seurer@gcc.gnu.org seurer@gcc.gnu.org
Fri Jul 19 18:33:00 GMT 2019


Author: seurer
Date: Fri Jul 19 18:33:59 2019
New Revision: 273607

URL: https://gcc.gnu.org/viewcvs?rev=273607&root=gcc&view=rev
Log:
[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 second of several patches to do this and moves most of the
function call and builtin 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-07-17  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (builtin_description, cpu_is_info,
	cpu_supports_info, builtin_hash_struct, builtin_hasher,
	builtin_hash_table, rs6000_builtin_info_type, rs6000_builtin_info,
	rs6000_aggregate_candidate, rs6000_discover_homogeneous_aggregate,
	rs6000_return_in_memory, rs6000_return_in_msb, call_ABI_of_interest,
	init_cumulative_args, rs6000_promote_function_mode,
	rs6000_must_pass_in_stack, is_complex_IBM_long_double,
	abi_v4_pass_in_fpr, rs6000_function_arg_padding,
	rs6000_function_arg_boundary, rs6000_parm_offset,
	rs6000_parm_start, rs6000_arg_size,
	rs6000_darwin64_record_arg_advance_flush,
	rs6000_darwin64_record_arg_advance_recurse,
	rs6000_darwin64_struct_check_p, rs6000_function_arg_advance_1,
	rs6000_function_arg_advance, rs6000_darwin64_record_arg_flush,
	rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg,
	rs6000_mixed_function_arg, rs6000_psave_function_arg,
	rs6000_finish_function_arg, rs6000_function_arg,
	rs6000_arg_partial_bytes, rs6000_pass_by_reference,
	rs6000_parm_needs_stack, rs6000_function_parms_need_stack,
	rs6000_reg_parm_stack_space, rs6000_move_block_from_reg,
	setup_incoming_varargs, rs6000_build_builtin_va_list, rs6000_va_start,
	rs6000_gimplify_va_arg, def_builtin, bdesc_3arg, bdesc_dst,
	bdesc_2arg, bdesc_altivec_preds, bdesc_abs, bdesc_1arg, bdesc_0arg,
	bdesc_htm, rs6000_overloaded_builtin_p, rs6000_overloaded_builtin_name,
	rs6000_expand_zeroop_builtin, rs6000_expand_mtfsf_builtin,
	rs6000_expand_mtfsb_builtin, rs6000_expand_set_fpscr_rn_builtin,
	rs6000_expand_set_fpscr_drn_builtin, rs6000_expand_unop_builtin,
	altivec_expand_abs_builtin, rs6000_expand_binop_builtin,
	altivec_expand_predicate_builtin, swap_endian_selector_for_mode,
	altivec_expand_lv_builtin, altivec_expand_stxvl_builtin,
	altivec_expand_stv_builtin, htm_spr_num, rs6000_htm_spr_icode,
	htm_expand_builtin, cpu_expand_builtin, rs6000_expand_ternop_builtin,
	altivec_expand_dst_builtin, altivec_expand_vec_init_builtin,
	get_element_number, altivec_expand_vec_set_builtin,
	altivec_expand_vec_ext_builtin, altivec_expand_builtin,
	rs6000_builtin_is_supported_p, rs6000_invalid_builtin,
	rs6000_fold_builtin, rs6000_builtin_valid_without_lhs,
	fold_build_vec_cmp, fold_compare_helper, fold_mergehl_helper,
	fold_mergeeo_helper, rs6000_gimple_fold_builtin,
	rs6000_expand_builtin, rs6000_vector_type,
	rs6000_init_builtins, rs6000_builtin_decl, altivec_init_builtins,
	htm_init_builtins, builtin_function_type, rs6000_common_init_builtins,
	rs6000_internal_arg_pointer, rs6000_output_mi_thunk): Move
	to rs6000-call.c.
	* config/rs6000/rs6000-call.c (builtin_description, cpu_is_info,
	cpu_supports_info, builtin_hash_struct, builtin_hasher,
	builtin_hash_table, rs6000_builtin_info_type, rs6000_builtin_info,
	rs6000_aggregate_candidate, rs6000_discover_homogeneous_aggregate,
	rs6000_return_in_memory, rs6000_return_in_msb, call_ABI_of_interest,
	init_cumulative_args, rs6000_promote_function_mode,
	rs6000_must_pass_in_stack, is_complex_IBM_long_double,
	abi_v4_pass_in_fpr, rs6000_function_arg_padding,
	rs6000_function_arg_boundary, rs6000_parm_offset,
	rs6000_parm_start, rs6000_arg_size,
	rs6000_darwin64_record_arg_advance_flush,
	rs6000_darwin64_record_arg_advance_recurse,
	rs6000_darwin64_struct_check_p, rs6000_function_arg_advance_1,
	rs6000_function_arg_advance, rs6000_darwin64_record_arg_flush,
	rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg,
	rs6000_mixed_function_arg, rs6000_psave_function_arg,
	rs6000_finish_function_arg, rs6000_function_arg,
	rs6000_arg_partial_bytes, rs6000_pass_by_reference,
	rs6000_parm_needs_stack, rs6000_function_parms_need_stack,
	rs6000_reg_parm_stack_space, rs6000_move_block_from_reg,
	setup_incoming_varargs, rs6000_build_builtin_va_list, rs6000_va_start,
	rs6000_gimplify_va_arg, def_builtin, bdesc_3arg, bdesc_dst,
	bdesc_2arg, bdesc_altivec_preds, bdesc_abs, bdesc_1arg, bdesc_0arg,
	bdesc_htm, rs6000_overloaded_builtin_p, rs6000_overloaded_builtin_name,
	rs6000_expand_zeroop_builtin, rs6000_expand_mtfsf_builtin,
	rs6000_expand_mtfsb_builtin, rs6000_expand_set_fpscr_rn_builtin,
	rs6000_expand_set_fpscr_drn_builtin, rs6000_expand_unop_builtin,
	altivec_expand_abs_builtin, rs6000_expand_binop_builtin,
	altivec_expand_predicate_builtin, swap_endian_selector_for_mode,
	altivec_expand_lv_builtin, altivec_expand_stxvl_builtin,
	altivec_expand_stv_builtin, htm_spr_num, rs6000_htm_spr_icode,
	htm_expand_builtin, cpu_expand_builtin, rs6000_expand_ternop_builtin,
	altivec_expand_dst_builtin, altivec_expand_vec_init_builtin,
	get_element_number, altivec_expand_vec_set_builtin,
	altivec_expand_vec_ext_builtin, altivec_expand_builtin,
	rs6000_builtin_is_supported_p, rs6000_invalid_builtin,
	rs6000_fold_builtin, rs6000_builtin_valid_without_lhs,
	fold_build_vec_cmp, fold_compare_helper, fold_mergehl_helper,
	fold_mergeeo_helper, rs6000_gimple_fold_builtin,
	rs6000_expand_builtin, rs6000_vector_type,
	rs6000_init_builtins, rs6000_builtin_decl, altivec_init_builtins,
	htm_init_builtins, builtin_function_type, rs6000_common_init_builtins,
	rs6000_internal_arg_pointer, rs6000_output_mi_thunk: Move
	to here from rs6000.c.
	* config/rs6000/rs6000-internal.h: (rs6000_darwin64_struct_check_p,
	rs6000_discover_homogeneous_aggregate, rs6000_output_mi_thunk,
	rs6000_output_addr_const_extra, rs6000_gimple_fold_builtin,
	rs6000_invalid_builtin, rs6000_build_builtin_va_list, rs6000_va_start,
	rs6000_gimplify_va_arg, rs6000_promote_function_mode,
	rs6000_return_in_memory, rs6000_return_in_msb,
	rs6000_pass_by_reference, setup_incoming_varargs,
	rs6000_function_arg_boundary, rs6000_must_pass_in_stack,
	rs6000_arg_partial_bytes, rs6000_function_arg_advance,
	rs6000_function_arg_padding, rs6000_function_arg,
	rs6000_darwin64_record_arg, rs6000_internal_arg_pointer,
	rs6000_init_builtins, rs6000_builtin_decl, rs6000_expand_builtin,
	rs6000_fold_builtin, rs6000_passes_ieee128, rs6000_passes_float,
	rs6000_passes_long_double, rs6000_passes_vector,
	rs6000_returns_struct, cpu_builtin_p, tree builtin_mode_to_type,
	altivec_builtin_mask_for_load) Add declarations.
	* config/rs6000/t-rs6000: Add new source file rs6000-call.c.
	* config/config.gcc: Add new source file rs6000-call.c to garbage
	collector and extra_objs.




Added:
    trunk/gcc/config/rs6000/rs6000-call.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config.gcc
    trunk/gcc/config/rs6000/rs6000-internal.h
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/t-rs6000



More information about the Gcc-cvs mailing list