diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-20 21:00:23 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-20 21:00:23 +0000 |
commit | 7e91b548b970eb3b300adad4d1e58587dfd170a2 (patch) | |
tree | 98407a614491ba2e6e3f90bd531334efd0366b60 /gcc/expr.h | |
parent | c8fbcf5814ca7d33e2ed28e487be37e72372c18e (diff) | |
download | gcc-7e91b548b970eb3b300adad4d1e58587dfd170a2.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192641 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index 562ffe03aca..0f5e8541fb0 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -335,7 +335,7 @@ extern rtx emit_group_move_into_temps (rtx); extern void emit_group_store (rtx, rtx, tree, int); /* Copy BLKmode object from a set of registers. */ -extern rtx copy_blkmode_from_reg (rtx, rtx, tree); +extern void copy_blkmode_from_reg (rtx, rtx, tree); /* Mark REG as holding a parameter for the next CALL_INSN. Mode is TYPE_MODE of the non-promoted parameter, or VOIDmode. */ |