calls.c (emit_library_call_value_1): Add to call_fusage the stack slot assigned to...
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 29 Dec 2000 04:36:00 +0000 (04:36 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 29 Dec 2000 04:36:00 +0000 (04:36 +0000)
* calls.c (emit_library_call_value_1): Add to call_fusage the
stack slot assigned to argument passed by reference.

From-SVN: r38523

gcc/ChangeLog
gcc/calls.c

index ff7fc425acd49a6035a1515614829a950b13215c..20dd94cf3cc835b264bcb0231b70fefe792b7553 100644 (file)
@@ -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
index 51d5566d3746f64b2f4b21fa02057138e1d8df6e..0f031ac6ec9cc010e57e40ba8ffbbbeeeafd2405 100644 (file)
@@ -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;