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.sandif...@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

Reply via email to