expr.h (copy_blkmode_to_reg): Declare.
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)
commit2ba87a294f618e93699867f50f924758c60dab45
tree4308de3c1a843d03ea183155046d08644a139ffe
parente755e54342572456e16194c427933aef5fcfbb69
expr.h (copy_blkmode_to_reg): Declare.

gcc/
* expr.h (copy_blkmode_to_reg): Declare.
* expr.c (copy_blkmode_to_reg): New function.
(expand_assignment): Don't expand register RESULT_DECLs before
the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
RESULT_DECL register.
(expand_expr_real_1): Handle BLKmode decls when looking for promotion.
* stmt.c (expand_return): Move BLKmode-to-register code into
copy_blkmode_to_reg.

From-SVN: r179839
gcc/ChangeLog
gcc/expr.c
gcc/expr.h
gcc/stmt.c
gcc/testsuite/g++.dg/pr48660.C [new file with mode: 0644]