diff options
author | Jan Hubicka <jh@suse.cz> | 2002-05-15 11:00:30 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-05-15 09:00:30 +0000 |
commit | 194734e9e5501f9a295212b91978eee396879cda (patch) | |
tree | 6dab9b09a4ebcfb309dc527384a3d4f4607f240d /gcc/function.h | |
parent | 61ad9a3472b5cafde230efd925bf9c8f61d6b65e (diff) | |
download | gcc-194734e9e5501f9a295212b91978eee396879cda.tar.gz |
invoke.texi (-malign-double): Re-add lost warning.
* invoke.texi (-malign-double): Re-add lost warning.
* i386-protos.h (x86_output_mi_thunk): Declare.
* unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
* i386.c (x86_output_mi_thunk): ... here; handle 64bits.
* dwarf2out.c (output_call_frame_info): Do not skip unwind info
when flag_asynchronous_unwind_tables is set.
* flags.h (flag_reorder_functions): Declare.
* function.c (prepare_function_start): Initialize frequnecy.
* params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New paramters.
* Makefile.in (predict.o): Add dependency on target.h and params.h
* defaults.h (HOT_TEXT_SECTION_NAME,
UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
* predict.c (choose_function_section): New function.
(estimate_bb_frequencies): Use it.
* toplev.c (flag_reorder_functions): New global variable.
(lang_independent_options): New.
(parse_options_and_default_flags): Set.
* varasm.c (assemble_start_function): Bypass functdion alignment
for never executed functions.
* invoke.texi (-freorder-blocks, -freorder-functions): Document.
(param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
* tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
Document.
Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
* predict.c: Inlude profile.h
(MIN_COUNT): Rename to MIN_COUNT_FRACTION
(maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
Use the information about maximal counter in the program.
Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
* basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
probably_never_executed_bb_p): New functions.
* cfgcleanup.c (outgoing_edges_match): Use them.
* predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
(maybe_hot_bb_p, probably_cold_bb_p,
probably_never_executed_bb_p): New functions.
* function.h (function): Add new field function_frequency.
* predict.c (compute_function_frequency): New function.
(estimate_probability): Call it.
From-SVN: r53478
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index bc789c8181a..912f8513c53 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -481,6 +481,19 @@ struct function /* Nonzero if code to initialize arg_pointer_save_area has been emited. */ unsigned int arg_pointer_save_area_init : 1; + + /* How commonly executed the function is. Initialized during branch + probabilities pass. */ + enum function_frequency { + /* This function most likely won't be executed at all. + (set only when profile feedback is available). */ + FUNCTION_FREQUENCY_UNLIKELY_EXECUTED, + /* The default value. */ + FUNCTION_FREQUENCY_NORMAL, + /* Optimize this function hard + (set only when profile feedback is available). */ + FUNCTION_FREQUENCY_HOT + } function_frequency; }; /* The function currently being compiled. */ |