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