[13/13] Add a pass_by_reference flag to function_arg_info
Jeff Law
law@redhat.com
Mon Aug 19 22:54:00 GMT 2019
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 <richard.sandiford@arm.com>
>
> gcc/
> * 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.
jeff
More information about the Gcc-patches
mailing list