Move premature QP notation clearing to it's appropriate location.
authorTimothy Wall <twall@alum.mit.edu>
Fri, 23 Jun 2000 03:31:06 +0000 (03:31 +0000)
committerTimothy Wall <twall@alum.mit.edu>
Fri, 23 Jun 2000 03:31:06 +0000 (03:31 +0000)
gas/ChangeLog
gas/config/tc-ia64.c

index ed8d51c..d66e9ce 100644 (file)
@@ -1,3 +1,8 @@
+2000-06-22  Timothy Wall  <twall@cygnus.com>
+
+       * config/tc-ia64.c (note_register_values): Move premature QP
+       notation clearing into the appropriate place.
+
 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
 
        * dep-in.sed: Escape literal `.'s on patterns.  Trim off `../'
index d2e0ec0..9b2eaf4 100644 (file)
@@ -7706,6 +7706,13 @@ note_register_values (idesc)
       clear_qp_implies (~qp_safe_across_calls, ~qp_safe_across_calls);
       clear_qp_branch_flag (~qp_safe_across_calls);
     }
+  else if (is_interruption_or_rfi (idesc)
+           || is_taken_branch (idesc))
+    {
+      clear_register_values ();
+      clear_qp_mutex (~(valueT)0);
+      clear_qp_implies (~(valueT)0, ~(valueT)0);
+    }
   /* Look for mutex and implies relations */
   else if ((idesc->operands[0] == IA64_OPND_P1 
             || idesc->operands[0] == IA64_OPND_P2)
@@ -8324,9 +8331,6 @@ update_dependencies (idesc)
          which require a srlz.[id], we don't follow the branch; the next
          instruction is assumed to start with a clean slate */
       regdepslen = 0;
-      clear_register_values ();
-      clear_qp_mutex (~(valueT)0);
-      clear_qp_implies (~(valueT)0, ~(valueT)0);
       md.path = 0;
     }
   else if (is_conditional_branch (idesc)