From 34fbe3f0946f88828765184ed6581bda62cdf49f Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 5 Dec 2019 19:12:51 +0100 Subject: cgraphclones.c (localize_profile): New function. * cgraphclones.c (localize_profile): New function. (cgraph_node::create_clone): Use it for partial profiles. * common.opt (fprofile-partial-training): New flag. * doc/invoke.texi (-fprofile-partial-training): Document. * ipa-cp.c (update_profiling_info): For partial profiles do not set function profile to zero. * profile.c (compute_branch_probabilities): With partial profile watch if edge count is zero and turn all probabilities to guessed. (compute_branch_probabilities): For partial profiles do not apply profile when entry count is zero. * tree-profile.c (tree_profiling): Only do value_profile_transformations when profile is read. From-SVN: r279013 --- gcc/common.opt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/common.opt') diff --git a/gcc/common.opt b/gcc/common.opt index 404b6aac298..7e47953f8dc 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2160,6 +2160,10 @@ fprofile-generate= Common Joined RejectNegative Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=. +fprofile-partial-training +Common Report Var(flag_profile_partial_training) Optimization +Do not assume that functions never executed during the train run are cold + fprofile-use Common Var(flag_profile_use) Enable common options for performing profile feedback directed optimizations. -- cgit v1.2.3