Rewrite of 64-bit Darwin structure-by-value pass/return.
2005-02-28 Dale Johannesen <dalej@apple.com> Stan Shebs <shebs@apple.com> Rewrite of 64-bit Darwin structure-by-value pass/return. * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields intoffset, use_stack, named. * config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove. (rs6000_darwin64_record_arg_advance_flush): New. (rs6000_darwin64_record_arg_advance_recurse): New. (rs6000_darwin64_record_arg_flush): New. (rs6000_darwin64_record_arg_recurse): New. (rs6000_darwin64_record_arg): New. (rs6000_return_in_memory): Remove AGGREGATE_TYPE_P check. (function_arg_boundary): Handle 128-bit aligned structs. (function_arg_advance): Rewrite darwin64 struct handling. (function_arg): Call rs6000_darwin64_record_arg. (function_arg_partial_nregs): Handle darwin64 structs. (rs6000_darwin64_function_value): Remove. (rs6000_function_value): Call rs6000_darwin64_record_arg. Co-Authored-By: Stan Shebs <shebs@apple.com> From-SVN: r95723
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment