diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2010-11-16 20:17:31 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@gcc.gnu.org> | 2010-11-16 20:17:31 +0000 |
commit | 18c33e032d3ed09866beed6bd6f711ff72fc1976 (patch) | |
tree | 8a0c29abef23258462f0e3baf56f63ffce24ba24 /gcc | |
parent | 651a20b54b07324c321f79f98251fa2ea2d0ec54 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/postreload.c | 4 |
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. */ |