aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/postreload.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9481c89..5ed0231 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
+ PR rtl-optimization/46395
+ * postreload.c (reload_combine): Invalidate register use
+ information on all control flow insns.
+
* config/m68k/m68k.c (m68k_delegitimize_address): Also expect
LABEL_REF in UNSPEC operand.
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 1fc9bfc..4d3bae4 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -1354,8 +1354,8 @@ reload_combine (void)
}
}
- else if (JUMP_P (insn)
- && GET_CODE (PATTERN (insn)) != RETURN)
+
+ if (control_flow_insn_p (insn) && GET_CODE (PATTERN (insn)) != RETURN)
{
/* Non-spill registers might be used at the call destination in
some unknown fashion, so we have to mark the unknown use. */