]> gcc.gnu.org Git - gcc.git/commitdiff
(convert_move): Don't call protect_from_queue.
authorRichard Stallman <rms@gnu.org>
Fri, 17 Jul 1992 04:24:58 +0000 (04:24 +0000)
committerRichard Stallman <rms@gnu.org>
Fri, 17 Jul 1992 04:24:58 +0000 (04:24 +0000)
(emit_block_move): Protect SIZE.

From-SVN: r1607

gcc/expr.c

index e0a6a806e739d56ad95c38da55ca62e2457ef9de..e2c8197dc0a9bccc19332cdf429314df91b9bef0 100644 (file)
@@ -829,7 +829,10 @@ convert_move (to, from, unsignedp)
    Both X and MODE may be floating, or both integer.
    UNSIGNEDP is nonzero if X is an unsigned value.
    This can be done by referring to a part of X in place
-   or by copying to a new temporary with conversion.  */
+   or by copying to a new temporary with conversion.
+
+   This function *must not* call protect_from_queue
+   except when putting X into an insn (in which case convert_move does it).  */
 
 rtx
 convert_to_mode (mode, x, unsignedp)
@@ -839,8 +842,6 @@ convert_to_mode (mode, x, unsignedp)
 {
   register rtx temp;
 
-  x = protect_from_queue (x, 0);
-
   if (mode == GET_MODE (x))
     return x;
 
@@ -1118,6 +1119,7 @@ emit_block_move (x, y, size, align)
 
   x = protect_from_queue (x, 1);
   y = protect_from_queue (y, 0);
+  size = protect_from_queue (size, 0);
 
   if (GET_CODE (x) != MEM)
     abort ();
@@ -1847,6 +1849,9 @@ emit_library_call (va_alist)
        val = convert_to_mode (DFmode, val), mode = DFmode;
 #endif
 
+      /* There's no need to call protect_from_queue, because
+        either emit_move_insn or emit_push_insn will do that.  */
+
       /* Make sure it is a reasonable operand for a move or push insn.  */
       if (GET_CODE (val) != REG && GET_CODE (val) != MEM
          && ! (CONSTANT_P (val) && LEGITIMATE_CONSTANT_P (val)))
This page took 0.081945 seconds and 5 git commands to generate.