aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-08-20 08:54:03 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-08-20 08:54:03 +0000
commit257caa552bf930e2770100de70a459a4ede837c0 (patch)
treef451a876ef90a91912575133c1f26b0708b25830 /libgo
parentcf0d189eb989906d17010ca7c0b07f1763d5fde5 (diff)
downloadgcc-257caa552bf930e2770100de70a459a4ede837c0.zip
gcc-257caa552bf930e2770100de70a459a4ede837c0.tar.gz
gcc-257caa552bf930e2770100de70a459a4ede837c0.tar.bz2
Add a pass_by_reference flag to function_arg_info
This patch adds a flag that tells targets whether an argument has been converted to pass-by-reference form. This replaces assign_parm_data_one::passed_pointer in function.c. The flag is set automatically for places that call apply_pass_by_reference_rules. Places that apply pass-by-reference manually need to set it themselves. (After previous changes, no targets apply pass-by-reference manually. They all go through apply_pass_by_reference_rules.) 2019-08-20 Richard Sandiford <richard.sandiford@arm.com> gcc/ * calls.h (function_arg_info): Add a pass_by_reference field, defaulting to false. * calls.c (apply_pass_by_reference_rules): Set pass_by_reference when applying pass-by-reference semantics. (initialize_argument_information): Likewise. (emit_library_call_value_1): Likewise. * function.c (assign_parm_data_one): Remove passed_pointer field. (assign_parm_find_data_types): Don't set it. (assign_parm_find_stack_rtl, assign_parm_adjust_stack_rtl) (assign_parm_setup_reg, assign_parms, gimplify_parameters): Use arg.pass_by_reference instead of passed_pointer. From-SVN: r274707
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions