Add pass_va_arg_by_reference
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 20 Aug 2019 08:50:59 +0000 (08:50 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 20 Aug 2019 08:50:59 +0000 (08:50 +0000)
commitfde65a89fad742c2dca8ad50452e482d22f3c1b2
treea1289bba8e74147f153b1d6b186772b35160a7aa
parentf386ca413862152954a0ac73a7a2294fd6bbae1a
Add pass_va_arg_by_reference

This patch splits out a common idiom from the va_arg gimplification
routines, so that there's only one place to update later.

2019-08-20  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* calls.h (pass_va_arg_by_reference): Declare.
* calls.c (pass_va_arg_by_reference): New function.
* config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Use it.
* config/alpha/alpha.c (alpha_gimplify_va_arg): Likewise.
* config/gcn/gcn.c (gcn_gimplify_va_arg_expr): Likewise.
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Likewise.
(mips_gimplify_va_arg_expr): Likewise.
* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000-call.c (rs6000_gimplify_va_arg): Likewise.
* config/s390/s390.c (s390_gimplify_va_arg): Likewise.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.
* config/tilegx/tilegx.c (tilegx_gimplify_va_arg_expr): Likewise.
* config/tilepro/tilepro.c (tilepro_gimplify_va_arg_expr): Likewise.
* config/visium/visium.c (visium_gimplify_va_arg): Likewise.
* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r274695
20 files changed:
gcc/ChangeLog
gcc/calls.c
gcc/calls.h
gcc/config/aarch64/aarch64.c
gcc/config/alpha/alpha.c
gcc/config/gcn/gcn.c
gcc/config/i386/i386.c
gcc/config/ia64/ia64.c
gcc/config/mips/mips.c
gcc/config/msp430/msp430.c
gcc/config/pa/pa.c
gcc/config/rs6000/rs6000-call.c
gcc/config/s390/s390.c
gcc/config/sparc/sparc.c
gcc/config/spu/spu.c
gcc/config/tilegx/tilegx.c
gcc/config/tilepro/tilepro.c
gcc/config/visium/visium.c
gcc/config/xtensa/xtensa.c
gcc/targhooks.c