This is the mail archive of the
mailing list for the GCC project.
Re: [13/13] Add a pass_by_reference flag to function_arg_info
- From: Jeff Law <law at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org, richard dot sandiford at arm dot com
- Date: Mon, 19 Aug 2019 16:21:59 -0600
- Subject: Re: [13/13] Add a pass_by_reference flag to function_arg_info
- References: <email@example.com> <firstname.lastname@example.org>
On 8/19/19 9:24 AM, Richard Sandiford wrote:
> This patch adds a flag that tells targets whether an argument
> has been converted to pass-by-reference form. This replaces
> assign_parm_data_one::passed_pointer in function.c.
> The flag is set automatically for places that call
> apply_pass_by_reference_rules. Places that apply
> pass-by-reference manually need to set it themselves.
> (After previous changes, no targets apply pass-by-reference
> manually. They all go through apply_pass_by_reference_rules.)
> 2019-08-19 Richard Sandiford <email@example.com>
> * calls.h (function_arg_info): Add a pass_by_reference field,
> defaulting to false.
> * calls.c (apply_pass_by_reference_rules): Set pass_by_reference
> when applying pass-by-reference semantics.
> (initialize_argument_information): Likewise.
> (emit_library_call_value_1): Likewise.
> * function.c (assign_parm_data_one): Remove passed_pointer field.
> (assign_parm_find_data_types): Don't set it.
> (assign_parm_find_stack_rtl, assign_parm_adjust_stack_rtl)
> (assign_parm_setup_reg, assign_parms, gimplify_parameters): Use
> arg.pass_by_reference instead of passed_pointer.
OK. I think that's the whole series. I don't expect any problems, but
my tester will pick testing across the various targets ~24hrs after
you've committed the changes.