Rewrite of 64-bit Darwin structure-by-value pass/return.
authorDale Johannesen <dalej@apple.com>
Tue, 1 Mar 2005 02:56:35 +0000 (02:56 +0000)
committerStan Shebs <shebs@gcc.gnu.org>
Tue, 1 Mar 2005 02:56:35 +0000 (02:56 +0000)
commit0b5383eba096fa2bec2d62242ea0f1bc5350ebc3
tree46b25cc4e0cf6fdd8d58b935495c31cf0e99bfff
parent1a9dddada346b812bafc8918d082c993c7f0a82d
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
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h