[Bug middle-end/54315] unnecessary copy of return value for union
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Oct 20 21:00:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54315
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-10-20 21:00:26 UTC ---
Author: ebotcazou
Date: Sat Oct 20 21:00:23 2012
New Revision: 192641
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192641
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/expr.c
trunk/gcc/expr.h
More information about the Gcc-bugs
mailing list