]> gcc.gnu.org Git - gcc.git/commitdiff
(move_movables): Copy CALL_INSN_FUNCTION_USAGE field.
authorJim Wilson <wilson@gcc.gnu.org>
Sat, 18 Jun 1994 20:44:41 +0000 (13:44 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Sat, 18 Jun 1994 20:44:41 +0000 (13:44 -0700)
From-SVN: r7517

gcc/loop.c

index 6469707c07d86b9e8cb63f7dec4b3ed79aa4fae5..dc39fdfd3d42958a95c766282b25339eb31d46bb 100644 (file)
@@ -1786,7 +1786,14 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
                                                 fn_address_insn);
 
                              if (GET_CODE (temp) == CALL_INSN)
-                               i1 = emit_call_insn_before (body, loop_start);
+                               {
+                                 i1 = emit_call_insn_before (body, loop_start);
+                                 /* Because the USAGE information potentially
+                                    contains objects other than hard registers
+                                    we need to copy it.  */
+                                 CALL_INSN_FUNCTION_USAGE (i1) =
+                                   copy_rtx (CALL_INSN_FUNCTION_USAGE (temp));
+                               }
                              else
                                i1 = emit_insn_before (body, loop_start);
                              if (first == 0)
@@ -1822,7 +1829,14 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
                          i1 = emit_insn_before (sequence, loop_start);
                        }
                      else if (GET_CODE (p) == CALL_INSN)
-                       i1 = emit_call_insn_before (PATTERN (p), loop_start);
+                       {
+                         i1 = emit_call_insn_before (PATTERN (p), loop_start);
+                         /* Because the USAGE information potentially
+                            contains objects other than hard registers
+                            we need to copy it.  */
+                         CALL_INSN_FUNCTION_USAGE (i1) =
+                           copy_rtx (CALL_INSN_FUNCTION_USAGE (p));
+                       }
                      else
                        i1 = emit_insn_before (PATTERN (p), loop_start);
 
This page took 0.076574 seconds and 5 git commands to generate.