[rs6000] hookize FUNCTION_ARG &co.

David Edelsohn dje.gcc@gmail.com
Wed Aug 25 02:32:00 GMT 2010


On Tue, Aug 24, 2010 at 4:50 PM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> The patch below hookizes FUNCTION_ARG and related macros for the rs6000
> backend.  There's a bit of churn to make sure we don't get warnings from
> passing const_trees around and using bools instead of ints, but nothing
> major.  I *think* the `depth' argument for rs6000_function_arg_advance_1
> is bogus and can be removed, but that's a reasonable follow-up patch.
> AFAICS, it's never called recursively.
>
> Tested on powerpc-eabispe.  I plan to commit this under the obvious rule
> after waiting for a week for comments.
>
> -Nathan
>
>        * rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
>        * rs6000-protos.h (function_arg_advance, function_arg): Delete.
>        (function_arg_boundary): Take a const_tree.
>        * rs6000.c (function_arg_boundary): Likewise.
>        (rs6000_spe_function_arg): Likewise.
>        (rs6000_parm_start): Likewise.
>        (rs6000_arg_size): Likewise.
>        (rs6000_darwin64_record_arg_advance_recurse): Likewise.
>        (rs6000_darwin64_record_arg): Likewise.  Take a bool instead of
>        an int.
>        (rs6000_mixed_function_arg): Likewise.
>        (function_arg): Rename to...
>        (rs6000_function_arg): ...this.
>        (function_arg_advance): Rename to...
>        (rs6000_function_arg_advance_1): ...this
>        (rs6000_function_arg_advance): New function.  Call it.
>        (setup_incoming_varargs): Call rs6000_function_arg_advance_1.
>        (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
>        (rs6000_function_value): Likewise.

Okay.

A sanity check on ppc64-linux would be nice.

Thanks, David



More information about the Gcc-patches mailing list