diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-10-20 21:00:23 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-10-20 21:00:23 +0000 |
commit | 929634d86bcd5007915a67ef38e50a56e0e6bfd9 (patch) | |
tree | 98407a614491ba2e6e3f90bd531334efd0366b60 /gcc/fortran/cpp.c | |
parent | e598c332d81d419ecdfce59051bb4657c685e53f (diff) | |
download | gcc-929634d86bcd5007915a67ef38e50a56e0e6bfd9.zip gcc-929634d86bcd5007915a67ef38e50a56e0e6bfd9.tar.gz gcc-929634d86bcd5007915a67ef38e50a56e0e6bfd9.tar.bz2 |
re PR middle-end/54315 (unnecessary copy of return value for union)
PR rtl-optimization/54315
* calls.c (expand_call): Don't deal specifically with BLKmode values
returned in naked registers.
* expr.h (copy_blkmode_from_reg): Adjust prototype.
* expr.c (copy_blkmode_from_reg): Rename first parameter into TARGET and
make it required. Assert that SRCREG hasn't BLKmode. Add a couple of
short-circuits for common cases and be prepared for sub-word registers.
(expand_assignment): Call copy_blkmode_from_reg for BLKmode values
returned in naked registers.
(store_expr): Likewise.
(store_field): Likewise.
From-SVN: r192641
Diffstat (limited to 'gcc/fortran/cpp.c')
0 files changed, 0 insertions, 0 deletions