[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