diff options
author | dehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-21 17:59:30 +0000 |
---|---|---|
committer | dehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-10-21 17:59:30 +0000 |
commit | 94bed7c33d801ea3b1fb6b10ff395af74a98244e (patch) | |
tree | 2dca135cb3eadb5a684bff2c9f64afbafd4ba80e /gcc/common.opt | |
parent | 415309e2ead97ad7cfed19baeb1ea9eb20b05756 (diff) | |
download | gcc-94bed7c33d801ea3b1fb6b10ff395af74a98244e.tar.gz |
Add AutoFDO.
gcc/ChangeLog:
2014-10-21 Dehao Chen <dehao@google.com>
* auto-profile.c: New file.
* auto-profile.h: New file.
* basic-block.h (maybe_hot_count_p): New export func.
(add_working_set): New export func.
* gcov-io.h (GCOV_TAG_AFDO_FILE_NAMES): New tag.
(GCOV_TAG_AFDO_FUNCTION): Likewise.
(GCOV_TAG_AFDO_WORKING_SET): Likewise.
* opts.c (enable_fdo_optimizations): New func.
(common_handle_option): Handle -fauto-profile flag.
* ipa-inline.c (want_early_inline_function_p): Iterative-einline.
(class pass_early_inline): Export early_inliner.
(early_inliner): Likewise.
(pass_early_inline::execute): Likewise.
* ipa-inline.h (early_inliner): Likewise.
* predict.c (maybe_hot_count_p): New export func.
(counts_to_freqs): AutoFDO logic.
(rebuild_frequencies): Likewise.
* tree-profile.c (pass_ipa_tree_profile::gate): Likewise.
* profile.c (add_working_set): New func.
* Makefile.in (auto-profile.o): New object file.
* passes.def (pass_ipa_auto_profile): New pass.
* tree-ssa-live.c (remove_unused_scope_block_p): AutoFDO logic.
* tree-pass.h (make_pass_ipa_auto_profile): New pass.
* toplev.c (compile_file): AutoFDO logic.
* doc/invoke.texi (-fauto-profile): New doc.
* coverage.c (coverage_init): AutoFDO logic.
* common.opt (-fauto-profile): New flag.
* timevar.def (TV_IPA_AUTOFDO): New tag.
* value-prof.c (gimple_alloc_histogram_value): New export func.
(check_ic_target): Likewise.
* value-prof.h (gimple_alloc_histogram_value): Likewise.
(check_ic_target): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216523 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/common.opt')
-rw-r--r-- | gcc/common.opt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt index 5db5e1ee6ad..817ac87bf12 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -895,6 +895,16 @@ fauto-inc-dec Common Report Var(flag_auto_inc_dec) Init(1) Generate auto-inc/dec instructions +fauto-profile +Common Report Var(flag_auto_profile) Optimization +Use sample profile information for call graph node weights. The default +profile file is fbdata.afdo in 'pwd'. + +fauto-profile= +Common Joined RejectNegative Var(auto_profile_file) +Use sample profile information for call graph node weights. The profile +file is specified in the argument. + ; -fcheck-bounds causes gcc to generate array bounds checks. ; For C, C++ and ObjC: defaults off. ; For Java: defaults to on. |