------- Comment #17 from jakub at gcc dot gnu dot org 2010-03-08 11:46 ------- Subject: Bug 42233
Author: jakub Date: Mon Mar 8 11:46:28 2010 New Revision: 157274 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157274 Log: PR middle-end/42233 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority. PR bootstrap/43121 * except.c (sjlj_emit_function_enter): Don't call add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn directly. * rtl.h (add_reg_br_prob_note): Remove prototype. PR middle-end/42233 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. PR middle-end/42233 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, do_jump_1, do_compare_rtx_and_jump): Add PROB argument. * dojump.c: Include output.h. (inv): New inline function. (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, do_jump_by_parts_equality, do_compare_and_jump): Add PROB argument, pass it down to other calls. (do_compare_rtx_and_jump): Likewise. If PROB is not -1, add REG_BR_PROB note to the conditional jump. * cfgexpand.c (add_reg_br_prob_note): Removed. (expand_gimple_cond): Don't call it, add the probability as last argument to jumpif_1/jumpifnot_1. * Makefile.in (dojump.o): Depend on output.h. * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump callers. * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. * stmt.c (do_jump_if_equal): Likewise. * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. * loop-unswitch.c (compare_and_jump_seq): Likewise. * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Likewise. * optabs.c (expand_doubleword_shift, expand_abs): Likewise. * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and jumpifnot_1 callers. (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump callers. (store_expr): Adjust jumpifnot caller. (store_constructor): Adjust jumpif caller. PR middle-end/42233 * gimplify.c (gimple_boolify): For __builtin_expect call gimple_boolify also on its first argument. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/Makefile.in branches/gcc-4_4-branch/gcc/cfgexpand.c branches/gcc-4_4-branch/gcc/cfgrtl.c branches/gcc-4_4-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_4-branch/gcc/dojump.c branches/gcc-4_4-branch/gcc/except.c branches/gcc-4_4-branch/gcc/expmed.c branches/gcc-4_4-branch/gcc/expr.c branches/gcc-4_4-branch/gcc/expr.h branches/gcc-4_4-branch/gcc/gimplify.c branches/gcc-4_4-branch/gcc/loop-doloop.c branches/gcc-4_4-branch/gcc/loop-unswitch.c branches/gcc-4_4-branch/gcc/optabs.c branches/gcc-4_4-branch/gcc/rtl.h branches/gcc-4_4-branch/gcc/stmt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42233