On 8/19/19 9:22 AM, Richard Sandiford wrote:
> This patch adds a function_arg_info field to assign_parm_data_one,
> so that:
> 
>   - passed_type -> arg.type
>   - promoted_mode -> arg.mode
>   - named_arg -> arg.named
> 
> We can then pass this function_arg_info directly to the converted
> hooks.
> 
> Between the initialisation of the assign_parm_data_one and the
> application of promotion rules (which is a state internal to
> assign_parm_find_data_types), arg.mode is equivalent to passed_mode
> (i.e. to TYPE_MODE).
> 
> 
> 2019-08-19  Richard Sandiford  <richard.sandif...@arm.com>
> 
> gcc/
>       * function.c (assign_parm_data_one): Replace passed_type,
>       promoted_mode and named_arg with a function_arg_info field.
>       (assign_parm_find_data_types): Remove local variables and
>       assign directly to "data".  Make data->passed_mode shadow
>       data->arg.mode until promotion, then assign the promoted
>       mode to data->arg.mode.
>       (assign_parms_setup_varargs, assign_parm_find_entry_rtl)
>       (assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl)
>       (assign_parm_remove_parallels, assign_parm_setup_block_p)
>       (assign_parm_setup_block, assign_parm_setup_reg)
>       (assign_parm_setup_stack, assign_parms, gimplify_parameters): Use
>       arg.mode instead of promoted_mode, arg.type instead of passed_type
>       and arg.named instead of named_arg.  Use data->arg for
>       function_arg_info structures that had the field values passed_type,
>       promoted_mode and named_arg.  Base other function_arg_infos on
>       data->arg, changing the necessary properties.
OK
jeff

Reply via email to