aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.c
diff options
context:
space:
mode:
authorTimothy Wall <twall@alum.mit.edu>2000-06-23 03:31:06 +0000
committerTimothy Wall <twall@alum.mit.edu>2000-06-23 03:31:06 +0000
commite9718fe12e2f9572afe65f44b98dbac8a25a2de4 (patch)
tree50e502b121657d04852479e918386166e84ca53e /gas/config/tc-ia64.c
parentf9c22bc3a4d6ae79f94ff339404fc0037b065589 (diff)
downloadgdb-e9718fe12e2f9572afe65f44b98dbac8a25a2de4.zip
gdb-e9718fe12e2f9572afe65f44b98dbac8a25a2de4.tar.gz
gdb-e9718fe12e2f9572afe65f44b98dbac8a25a2de4.tar.bz2
Move premature QP notation clearing to it's appropriate location.
Diffstat (limited to 'gas/config/tc-ia64.c')
-rw-r--r--gas/config/tc-ia64.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index d2e0ec0..9b2eaf4 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -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)