aboutsummaryrefslogtreecommitdiff
path: root/gcc/predict.c
AgeCommit message (Collapse)AuthorFilesLines
2000-04-22predict.c (estimate_probability): Examine both sides of a branch for no exits.Richard Henderson1-32/+42
* predict.c (estimate_probability): Examine both sides of a branch for no exits. Use 90% not 50% for predict taken. Reorg for one copy of note generation code. From-SVN: r33343
2000-04-22predict.c (expected_value_to_br_prob): Don't bomb if op1 of the collected ↵Richard Henderson1-1/+11
condition is not a constant. * predict.c (expected_value_to_br_prob): Don't bomb if op1 of the collected condition is not a constant. From-SVN: r33340
2000-04-21predict.c (estimate_probability): New heuristic...Zack Weinberg1-6/+27
* predict.c (estimate_probability): New heuristic: if a jump branches around a block with no successors, predict it taken. Disentangle control flow. From-SVN: r33308
2000-04-17loop.c (canonicalize_condition): Add WANT_REG argument.Richard Henderson1-59/+38
* loop.c (canonicalize_condition): Add WANT_REG argument. Stop the search if we match it. * expr.h (canonicalize_condition): Update decl. * predict.c (expected_value_to_br_prob): Use it. Track last expected value note. (find_expected_value): Remove. * reorg.c (mostly_true_jump): Always use BR_PROB if present. From-SVN: r33214
2000-04-17builtins.c (expand_builtin_expect): New.Richard Henderson1-0/+87
* builtins.c (expand_builtin_expect): New. (expand_builtin): Call it. * builtins.def (BUILT_IN_EXPECT): New. * c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect. * extend.texi: Document it. * predict.c (expected_value_to_br_prob): New. (find_expected_value): New. * basic-block.h (expected_value_to_br_prob): Declare. * toplev.c (rest_of_compilation): Invoke it. * rtl.h (NOTE_EXPECTED_VALUE): New. (NOTE_INSN_EXPECTED_VALUE): New. * rtl.c (note_insn_name): Update. * print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special cases; handle NOTE_INSN_EXPECTED_VALUE. From-SVN: r33211
2000-02-21predict.c (estimate_probability): Added the pointer heuristic to the ↵Jason Eckhardt1-2/+37
collection of static branch predictors. * predict.c (estimate_probability): Added the pointer heuristic to the collection of static branch predictors. From-SVN: r32093
2000-01-29[multiple changes]Jason Eckhardt1-7/+12
Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz> * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New function. * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare. * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro. (FLOW_LOOP_LAST_BLOCK): Likewise. 2000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * basic-block.h (struct loop): New fields 'first' and 'last'. * flow.c (flow_loops_find): Compute loop->first and loop->last. (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG and loop->last to check for NOTE_INSN_LOOP_END. Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com> * predict.c (estimate_probability): Use the new FIRST and LAST fields of the loop descriptor rather than HEADER and LATCH. Also added missing break statements as well making some coding style modifications as suggested by Michael Hayes. From-SVN: r31679
2000-01-14predict.c: New file.Jason Eckhardt1-0/+143
Thu Jan 13 14:46:03 2000 Jason Eckhardt <jle@cygnus.com> Stan Cox <scox@cygnus.com> * predict.c: New file. Preliminary infrastructure work for static branch prediction and basic block reordering. * basic-block.h: Add prototype for estimate_probability. * Makefile.in: Add rules for predict.o. Co-Authored-By: Stan Cox <scox@cygnus.com> From-SVN: r31402