aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorGavin Romig-Koch <gavin@cygnus.com>1998-10-01 13:00:21 +0000
committerGavin Romig-Koch <gavin@gcc.gnu.org>1998-10-01 13:00:21 +0000
commitc36fce9a4283f71b9613e1923fbb6cea2c0d64a2 (patch)
tree9b145af594c102bee9b10b504ce7129d9016e08b /gcc/expr.h
parent38f01e5a57f979f7427e99be377b4717a330cf7a (diff)
downloadgcc-c36fce9a4283f71b9613e1923fbb6cea2c0d64a2.zip
gcc-c36fce9a4283f71b9613e1923fbb6cea2c0d64a2.tar.gz
gcc-c36fce9a4283f71b9613e1923fbb6cea2c0d64a2.tar.bz2
calls.c (expand_call): Encapsulate code into copy_blkmode_from_reg.
* calls.c (expand_call) : Encapsulate code into copy_blkmode_from_reg. * expr.c (copy_blkmode_from_reg): New function. * expr.h (copy_blkmode_from_reg): New function. * integrate.c (function_cannot_inline_p): We can inline these now. (expand_inline_function): Use copy_blkmode_from_reg if needed. Avoid creating BLKmode REGs. (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode object. From-SVN: r22714
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 6d8d22a..353e6fd 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -732,6 +732,11 @@ extern void emit_group_load PROTO((rtx, rtx, int, int));
PARALLEL. */
extern void emit_group_store PROTO((rtx, rtx, int, int));
+#ifdef TREE_CODE
+/* Copy BLKmode object from a set of registers. */
+extern rtx copy_blkmode_from_reg PROTO((rtx,rtx,tree));
+#endif
+
/* Mark REG as holding a parameter for the next CALL_INSN. */
extern void use_reg PROTO((rtx *, rtx));
/* Mark NREGS consecutive regs, starting at REGNO, as holding parameters