From 0f379f762d2f3e7f84c038368b9e32c50c8deaab Mon Sep 17 00:00:00 2001 From: Easwaran Raman Date: Wed, 31 Oct 2012 23:28:45 +0000 Subject: re PR target/54938 (sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273) 2012-10-31 Easwaran Raman PR target/54938 PR middle-end/54957 * optabs.c (emit_cmp_and_jump_insn_1): Add REG_BR_PROB note only if it doesn't already exist. * stmt.c (get_outgoing_edge_probs): Return 0 if BB is NULL. (emit_case_dispatch_table): Handle the case where STMT_BB is NULL. (expand_sjlj_dispatch_table): Pass BB containing before_case to emit_case_dispatch_table. From-SVN: r193052 --- gcc/optabs.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gcc/optabs.c') diff --git a/gcc/optabs.c b/gcc/optabs.c index e220316..bba93c2 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -4268,11 +4268,9 @@ emit_cmp_and_jump_insn_1 (rtx test, enum machine_mode mode, rtx label, int prob) && profile_status != PROFILE_ABSENT && insn && JUMP_P (insn) - && any_condjump_p (insn)) - { - gcc_assert (!find_reg_note (insn, REG_BR_PROB, 0)); - add_reg_note (insn, REG_BR_PROB, GEN_INT (prob)); - } + && any_condjump_p (insn) + && !find_reg_note (insn, REG_BR_PROB, 0)) + add_reg_note (insn, REG_BR_PROB, GEN_INT (prob)); } /* Generate code to compare X with Y so that the condition codes are -- cgit v1.1