diff options
author | Jan Hubicka <jh@suse.cz> | 2006-11-11 17:54:57 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-11-11 16:54:57 +0000 |
commit | ef950eba664843fe4cb27c6d85809e84189b1381 (patch) | |
tree | 9d45a239029f3b75636cf09bd64a3c4a7e6031d7 /gcc/dojump.c | |
parent | 89fa98d6b981d00d1f753f010e0747c8024a0441 (diff) | |
download | gcc-ef950eba664843fe4cb27c6d85809e84189b1381.tar.gz |
extended.texi (__builtin_expect): We no longer require second argument to be constant.
* extended.texi (__builtin_expect): We no longer require second argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.
From-SVN: r118696
Diffstat (limited to 'gcc/dojump.c')
-rw-r--r-- | gcc/dojump.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/gcc/dojump.c b/gcc/dojump.c index be0f2d4490e..05bcd9b0b19 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -551,37 +551,6 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) } break; - /* Special case: - __builtin_expect (<test>, 0) and - __builtin_expect (<test>, 1) - - We need to do this here, so that <test> is not converted to a SCC - operation on machines that use condition code registers and COMPARE - like the PowerPC, and then the jump is done based on whether the SCC - operation produced a 1 or 0. */ - case CALL_EXPR: - /* Check for a built-in function. */ - { - tree fndecl = get_callee_fndecl (exp); - tree arglist = TREE_OPERAND (exp, 1); - - if (fndecl - && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL - && DECL_FUNCTION_CODE (fndecl) == BUILT_IN_EXPECT - && arglist != NULL_TREE - && TREE_CHAIN (arglist) != NULL_TREE) - { - rtx seq = expand_builtin_expect_jump (exp, if_false_label, - if_true_label); - - if (seq != NULL_RTX) - { - emit_insn (seq); - return; - } - } - } - /* Fall through and generate the normal code. */ default: normal: |