summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2010-11-16 20:17:31 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2010-11-16 20:17:31 +0000
commit18c33e032d3ed09866beed6bd6f711ff72fc1976 (patch)
tree8a0c29abef23258462f0e3baf56f63ffce24ba24 /gcc
parent651a20b54b07324c321f79f98251fa2ea2d0ec54 (diff)
downloadgcc-18c33e032d3ed09866beed6bd6f711ff72fc1976.tar.gz
re PR rtl-optimization/46395 (FAIL: 22_locale/numpunct/members/pod/2.cc execution test)
PR rtl-optimization/46395 * gcc/postreload.c (reload_combine): Invalidate register use information on all control flow insns. From-SVN: r166820
Diffstat (limited to 'gcc')
-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 9481c8942f4..5ed02311dac 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 1fc9bfc50f6..4d3bae4f320 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. */