diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9481c8942f45..5ed02311dacf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2010-11-16 Andreas Schwab + 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 1fc9bfc50f62..4d3bae4f3200 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. */