aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-12-29 04:36:00 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2000-12-29 04:36:00 +0000
commit6b5273c31e6d2ad38193c25dd3aa83164bfe1b82 (patch)
treeaf5e75560d0eb72fd9fac6714e7f146853aae429 /gcc
parentcd372c39a8578e29be45d9a73cddee7cb795b74d (diff)
downloadgcc-6b5273c31e6d2ad38193c25dd3aa83164bfe1b82.zip
gcc-6b5273c31e6d2ad38193c25dd3aa83164bfe1b82.tar.gz
gcc-6b5273c31e6d2ad38193c25dd3aa83164bfe1b82.tar.bz2
calls.c (emit_library_call_value_1): Add to call_fusage the stack slot assigned to argument passed by reference.
* calls.c (emit_library_call_value_1): Add to call_fusage the stack slot assigned to argument passed by reference. From-SVN: r38523
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/calls.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ff7fc42..20dd94c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-12-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * calls.c (emit_library_call_value_1): Add to call_fusage the
+ stack slot assigned to argument passed by reference.
+
2000-12-28 Jeffrey Oldham <oldham@codesourcery.com>
* toplev.h (extern really_sorry): Remove extern declaration for
diff --git a/gcc/calls.c b/gcc/calls.c
index 51d5566..0f031ac 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -3667,6 +3667,9 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
/* We do not support FUNCTION_ARG_CALLEE_COPIES here since it can
be viewed as just an efficiency improvement. */
rtx slot = assign_stack_temp (mode, GET_MODE_SIZE (mode), 0);
+ call_fusage = gen_rtx_EXPR_LIST (VOIDmode,
+ gen_rtx_USE (VOIDmode, slot),
+ call_fusage);
emit_move_insn (slot, val);
val = force_operand (XEXP (slot, 0), NULL_RTX);
mode = Pmode;