public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, rs6000] Split up rs6000.c. (part 2)
@ 2019-07-17 16:34 Bill Seurer
  2019-07-18 21:56 ` Segher Boessenkool
  0 siblings, 1 reply; 2+ messages in thread
From: Bill Seurer @ 2019-07-17 16:34 UTC (permalink / raw)
  To: GCC Patches; +Cc: Segher Boessenkool

[-- Attachment #1: Type: text/plain, Size: 5816 bytes --]

[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): Moved
	to rs6000-logue.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: Moved
	to here from rs6000.c.
	* config/rs6000/t-rs6000: Add new source file rs6000-call.c.
	* config/config.gcc: Add new source file rs6000-call.c to garbage
	collector.

[-- Attachment #2: rs6000-split.diff.gz --]
[-- Type: application/gzip, Size: 111089 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH, rs6000] Split up rs6000.c. (part 2)
  2019-07-17 16:34 [PATCH, rs6000] Split up rs6000.c. (part 2) Bill Seurer
@ 2019-07-18 21:56 ` Segher Boessenkool
  0 siblings, 0 replies; 2+ messages in thread
From: Segher Boessenkool @ 2019-07-18 21:56 UTC (permalink / raw)
  To: Bill Seurer; +Cc: GCC Patches

Hi!

On Wed, Jul 17, 2019 at 10:06:14AM -0500, Bill Seurer wrote:
> 2019-07-17  Bill Seurer  <seurer@linux.vnet.ibm.com>
> 
> 	* config/rs6000/rs6000.c (builtin_description, cpu_is_info,

[ ... ]
(Your mailer seems to have wrapped some changelog lines, with trailing
spaces and everything).

> 	rs6000_internal_arg_pointer, rs6000_output_mi_thunk): Moved
> 	to rs6000-logue.c.

rs6000-call.c, instead :-)  And don't use passive voice in changelogs
please, just say "Move to rs6000-call.c ."?

> 	* config/rs6000/t-rs6000: Add new source file rs6000-call.c.
> 	* config/config.gcc: Add new source file rs6000-call.c to garbage
> 	collector.

To extra_objs, too.

You forgot a changelog entry for rs6000-internal.h I think?

>  /* Support targetm.vectorize.builtin_mask_for_load.  */
> -static GTY(()) tree altivec_builtin_mask_for_load;
> +GTY(()) tree altivec_builtin_mask_for_load;

The changelog doesn't mention these changes.  There are only a few :-)

>  /* True if we have expanded a CPU builtin.  */
> -bool cpu_builtin_p;
> +bool cpu_builtin_p = false;

I'm curious, why was this needed?  Or is it just general cleanliness :-)

The patch is fine, the changelog needs a little work.  Okay for trunk
with that fixed.  Thanks!


Segher

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-07-18 21:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17 16:34 [PATCH, rs6000] Split up rs6000.c. (part 2) Bill Seurer
2019-07-18 21:56 ` Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).